程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP函數checkdnsrr用法詳解(Windows平台用法)

PHP函數checkdnsrr用法詳解(Windows平台用法)

編輯:PHP綜合

本文實例講述了PHP函數checkdnsrr用法。分享給大家供大家參考,具體如下:

在php.net上是這樣說的:

(PHP 4, PHP 5)

checkdnsrr — Check DNS records corresponding to a given Internet host name or IP address

譯文: checkdnsrr -- 根據一個給定的host name(域名)或者IP地址檢查它是否有DNS記錄,其實也就是檢驗它是否存在。

Note:  This function is now available on Windows platforms.

注意:該函數在windows平台不支持

我試了一下,果然,提示沒有這個函數。

下面是一個hack的方法,這樣,我們在windows上做開發時,也能看到效果了!

if(!function_exists('checkdnsrr')){
  function checkdnsrr($host, $type=''){
    if(!empty($host)){
      $type = (empty($type)) ? 'MX' : $type;
      exec('nslookup -type='.$type.' '.escapeshellcmd($host), $result);
      $it = new ArrayIterator($result);
      foreach(new RegexIterator($it, '~^'.$host.'~', RegexIterator::GET_MATCH) as $result){
        if($result){
          return true;
        }
      }
    }
    return false;
  }
}

接下來我來介紹一下參數:

bool checkdnsrr ( string $host [, string $type = "MX" ] )

第一個參數我們就不說了,就是域名或者ip

第二個參數是解析類型,分別有:

A (Address) 記錄     是指定主機名(或域名)對應的IP地址記錄。
MX 記錄              是指定郵件交換記錄(默認)
NS 記錄              是指定域名服務器的記錄,指定該域名由哪個DNS來進行解析。
SOA記錄              一般在輔助的dns服務器裡才用到,用來指定誰是主服務器。
PTR記錄              從ip指向域名的反向解析記錄
CNAME記錄            別名記錄
AAAA記錄             是一個指向IPv6的記錄
A6記錄               同上
SRV記錄              它是DNS服務器的數據庫中支持的一種資源記錄的類型,一般是為Microsoft的活動目錄設置時的應用。
TXT記錄              文本信息
ANY記錄              任何記錄,所有數據類型

這個函數常被我們用於檢測email是否真實存在!

更多關於PHP相關內容感興趣的讀者可查看本站專題:《php操作office文檔技巧總結(包括word,excel,access,ppt)》、《php日期與時間用法總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved