本文實例講述了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(!emptyempty($host)){
- $type = (emptyempty($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;
- //Vevb.com
- }
- }
- }
- 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是否真實存在!
新聞熱點
疑難解答