當前位置:首頁 > PHP教程 > php函數 > 列表

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

發布:smiling 來源: PHP粉絲網  添加日期:2019-11-14 15:08:20 瀏覽: 評論:0 

本文實例講述了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上做開發時,也能看到效果了!

  1. if(!function_exists('checkdnsrr')){ 
  2.  
  3.   function checkdnsrr($host$type=''){ 
  4.  
  5.     if(!emptyempty($host)){ 
  6.  
  7.       $type = (emptyempty($type)) ? 'MX' : $type
  8.  
  9.       exec('nslookup -type='.$type.' '.escapeshellcmd($host), $result); 
  10.  
  11.       $it = new ArrayIterator($result); 
  12.  
  13.       foreach(new RegexIterator($it'~^'.$host.'~', RegexIterator::GET_MATCH) as $result){ 
  14.  
  15.         if($result){ 
  16.  
  17.           return true; 
  18. //phpfensi.com 
  19.         } 
  20.  
  21.       } 
  22.  
  23.     } 
  24.  
  25.     return false; 
  26.  
  27.   } 
  28.  

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

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是否真實存在!

Tags: checkdnsrr

分享到:

福利彩票25选5开奖结果