程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php window平台模擬checkdnsrr函數檢測email是否真實存在

php window平台模擬checkdnsrr函數檢測email是否真實存在

編輯:關於PHP編程

在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常用函數收集(去除空格,驗證郵箱,日期,正整數等)

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