如何在PHP中使用checkdnsrr函数?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
checkdnsrr -- 根据一个给定的host name(域名)或者IP地址检查它是否有DNS记录,其实也就是检验它是否存在。
Note: This function is now available on Windows platforms.
注意:该函数在windows平台不支持
我试了一下,果然,提示没有这个函数。
下面是一个hack的方法,这样,我们在windows上做开发时,也能看到效果了!
if(!function_exists('checkdnsrr')){
functioncheckdnsrr($host,$type=''){
if(!empty($host)){
$type=(empty($type))?'MX':$type;
exec('nslookup-type='.$type.''.escapeshellcmd($host),$result);
$it=newArrayIterator($result);
foreach(newRegexIterator($it,'~^'.$host.'~',RegexIterator::GET_MATCH)as$result){
if($result){
returntrue;
}
}
}
returnfalse;
}
}
接下来我来介绍一下参数:
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记录 任何记录,所有数据类型
看完上述内容,你们掌握如何在PHP中使用checkdnsrr函数的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!