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


Posted in PHP onMarch 21, 2016

本文实例讲述了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 相关文章推荐
PHP日期处理函数 整型日期格式
Jan 12 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 PHP
获取PHP警告错误信息的解决方法
Jun 03 PHP
is_uploaded_file函数引发的不能上传文件问题
Oct 29 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
Jun 12 PHP
ThinkPHP惯例配置文件详解
Jul 14 PHP
PHP实现图片旋转效果实例代码
Oct 01 PHP
php页面缓存方法小结
Jan 10 PHP
PHP实现过滤各种HTML标签
May 17 PHP
PHP连接sftp并下载文件的方法教程
Aug 26 PHP
php实现有序数组旋转后寻找最小值方法
Sep 27 PHP
PHP设计模式(观察者模式)
Jul 07 PHP
PHP常见数组函数用法小结
Mar 21 #PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
Mar 20 #PHP
Zend Framework入门知识点小结
Mar 19 #PHP
Zend Framework缓存Cache用法简单实例
Mar 19 #PHP
Zend Framework基本页面布局分析
Mar 19 #PHP
Zend Framework连接Mysql数据库实例分析
Mar 19 #PHP
Zend Framework+smarty用法实例详解
Mar 19 #PHP
You might like
实用函数7
2007/11/08 PHP
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
php将时间差转换为字符串提示
2011/09/07 PHP
php实例分享之mysql数据备份
2014/05/19 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
js 弹出新页面避免被浏览器、ad拦截的一种新方法
2014/04/30 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
vue获取当前点击的元素并传值的实例
2018/03/09 Javascript
vue中的provide/inject的学习使用
2018/05/09 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
20多个小事例带你重温ES10新特性(小结)
2019/09/29 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
[48:48]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
pycharm 使用心得(八)如何调用另一文件中的函数
2014/06/06 Python
python 画二维、三维点之间的线段实现方法
2019/07/07 Python
python禁用键鼠与提权代码实例
2019/08/16 Python
python下载库的步骤方法
2019/10/12 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
2020/06/01 Python
带你学习Python如何实现回归树模型
2020/07/16 Python
Python实现京东抢秒杀功能
2021/01/25 Python
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
STUBHUB日本:购买和出售全球活动门票
2018/07/01 全球购物
介绍一下Ruby的多线程处理
2013/02/01 面试题
个人自我评价范文
2014/02/05 职场文书
小学二年级数学教学计划
2015/01/20 职场文书
三八妇女节慰问信
2015/02/14 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
2015年数学教研工作总结
2015/07/22 职场文书
Vue中Object.assign清空数据报错的解决方案
2022/03/03 Vue.js
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers
flex布局中使用flex-wrap实现换行的项目实践
2022/06/21 HTML / CSS