服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|易语言|

服务器之家 - 编程语言 - PHP教程 - PHP函数checkdnsrr用法详解(Windows平台用法)

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

2021-01-01 14:44人在其途 PHP教程

这篇文章主要介绍了PHP函数checkdnsrr用法,分析讲解了在Windows平台使用checkdnsrr函数的方法,需要的朋友可以参考下

本文实例讲述了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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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程序设计有所帮助。

延伸 · 阅读

精彩推荐