如何在PHP中使用checkdnsrr函数

如何在PHP中使用checkdnsrr函数?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

checkdnsrr -- 根据一个给定的host name(域名)或者IP地址检查它是否有DNS记录,其实也就是检验它是否存在。

如何在PHP中使用checkdnsrr函数

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函数的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!

发布于 2021-04-03 22:30:59
收藏
分享
海报
0 条评论
160
上一篇:怎么在YII Framework中使用filter过滤器 下一篇:怎么在PHP中利用Static延迟静态绑定
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码