本文實例講述了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程序設計有所幫助。