Home >Backend Development >PHP Tutorial >PHP函数checkdnsrr用法详解(Windows平台用法)_PHP

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

WBOY
WBOYOriginal
2016-05-27 10:34:591391browse

本文实例讲述了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(!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记录              任何记录,所有数据类型

这个函数常被我们用于检测email是否真实存在!

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn