欢迎来到源码交易网,为站长提供交易担保服务 访问移动版
站长交易首选担保平台!
酷客淘

PHP函数checkdnsrr用法详解(Windows平台用法)

日期: 2019-11-15 08:39:53 人气: -

本文实例讲述了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; 

//phpfensi.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是否真实存在!