当前位置:首页 > 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

分享到: