在php的系統函數中有一個checkdnsrr函數,該函數的作用是根據一個給定的host name(網域名稱)或者IP地址檢查它是否有DNS記錄,目的就是檢驗它是否真實存在。但是該函數僅可以在linux系統下使用,並不支援windows平台。下面是網上搜集到的一個hack的方法,實現在window平台上類比checkdnsrr函數來檢測一個email是否存在的功能!
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記錄 任何記錄,所有資料類型
您可能感興趣的文章
- php利用filter函數驗證郵箱、url和ip地址的方法
- php擷取漢字拼音首字母的函數(真正可以使用的)
- Sphinx在windows下安裝使用[支援中文全文檢索索引]
- php判斷函數,類,類方法是否存在
- php 類比get_headers函數
- php擷取目錄所有檔案並將結果儲存到數組的程式
- windows環境下mysql資料庫的主從同步備份步驟
- JS常用函數收集(去除空格,驗證郵箱,日期,正整數等)
http://www.bkjia.com/PHPjc/813353.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/813353.htmlTechArticle在php的系統函數中有一個checkdnsrr函數,該函數的作用是根據一個給定的host name(網域名稱)或者IP地址檢查它是否有DNS記錄,目的就是檢驗它是否...