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

本文实例讲述了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操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • PHP几个实用自定义函数小结

    本文实例总结了PHP几个实用自定义函数.分享给大家供大家参考,具体如下: 最近在看代码,发现以下是几个比较实用的函数. 1.取客户端IP function getOnlineIp() { $strOnlineIp = ""; if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $onlineip = getenv('HTTP_CLIENT_IP'); } el

  • php实现window平台的checkdnsrr函数

    PHP的自带checkdnsrr函数只在linux平台有效.使用惯了在window平台不能使用的话给兼容性带来麻烦. 因此写了个checkdnsrr模拟函数在window平台环境使用. if (!function_exists('checkdnsrr ')) { function checkdnsrr($host, $type) { if(!empty($host) && !empty($type)) { @exec('nslookup -type=' . escapeshellarg($

  • PHP执行linux命令常用函数汇总

    一般情况下,很少会用php去执行linux命令,不过特殊情况下,你也许会用到这些函数.以前我知道有二个函数可以执行linux命令,一个是exec,一个是shell_exec.其实有很多的,结合手册内容,介绍以下6个函数. 1,exec函数 <?php $test = "ls /tmp/test"; //ls是linux下的查目录,文件的命令 exec($test,$array); //执行命令 print_r($array); ?> 返回结果如下: [root@krlcgc

  • 利用PHP脚本在Linux下用md5函数加密字符串的方法

    #touch a.php //创建a.php文件 #vi a.php //用vi 编辑a.php文件 将<?php echo md5(123456); ?>输入进去后保存 #php a.php //运行a.php文件 显示:e10adc3949ba59abbe56e057f20f883e A.在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序.一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行.可以用下面的命令来获取md5sum命令帮助

  • PHP闭包函数详解

    匿名函数也叫闭包函数(closures允许创建一个没有指定没成的函数,最经常用作回调函数参数的值. 闭包函数没有函数名称,直接在function()传入变量即可 使用时将定义的变量当作函数来处理 $cl = function($name){ return sprintf('hello %s',name); } echo $cli('fuck')` 直接通过定义为匿名函数的变量名称来调用 echo preg_replace_callback('~-([a-z])~', function ($mat

  • PHP的几个常用加密函数

    MD5加密: string md5 ( string $str [, bool $raw_output = false ] ) 1.md5()默认情况下以 32 字符十六进制数字形式返回散列值,它接受两个参数,第一个为要加密的字符串,第二个为raw_output的布尔值,默认为false,如果设置为true,md5()则会返回原始的 16 位二进制格式报文摘要 2.md5()为单向加密,没有逆向解密算法,但是还是可以对一些常见的字符串通过收集,枚举,碰撞等方法破解 <?php $username

  • PHP执行linux系统命令的常用函数使用说明

    system函数 说明:执行外部程序并显示输出资料. 语法:string system(string command, int [return_var]); 返回值: 字符串 详细介绍: 本函数就像是 C 语中的函数 system(),用来执行指令,并输出结果.若是 return_var 参数存在,则执行 command 之后的状态会填入 return_var 中.同样值得注意的是若需要处理用户输入的资料,而又要防止用户耍花招破解系统,则可以使用 EscapeShellCmd().若 PHP 以

  • 浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法

    废话不多说,上代码 复制代码 代码如下: <?php//查询禁止IP$ip =$_SERVER['REMOTE_ADDR'];$fileht=".htaccess2";if(!file_exists($fileht)) file_put_contents($fileht,"");$filehtarr=@file($fileht);if(in_array($ip."\r\n",$filehtarr)) die("Warning:&q

  • linux系统上支持php的 iconv()函数的方法

    1.下载libiconv函数库http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz: 2.解压缩tar -zxvf libiconv-1.9.2.tar.gz; 3.安装libiconv 复制代码 代码如下: #configure --prefix=/usr/local/iconv #make #make install 4.重新编译php 增加编译参数--with-iconv=/usr/local/iconv windows下 最近

  • 简单谈谈PHP中strlen 函数

    strlen函数说明. int strlen ( string $string ) 在这篇文章,我们可以知道strlen函数是通过Zend Engine定义的.函数的定义可以在这里查看. 在这里也给出函数的源码: ZEND_FUNCTION(strlen) { char *s1; int s1_len; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &s1, &s1_len) == FAILURE)

  • php强大的时间转换函数strtotime

    使用strtotime可以将各种格式的时间字符串转换为时间戳 转换常规时间格式 echo date('Y-m-d H:i:s', strtotime('2016-01-30 18:00')).PHP_EOL; echo date('Y-m-d H:i:s', strtotime('20160130180001')).PHP_EOL; 转换自然时间描述 //昨天 echo date('Y-m-d H:i:s', strtotime('yesterday')).PHP_EOL; //上周 echo

  • PHP函数超时处理方法

    本文实例讲述了PHP函数超时处理方法.分享给大家供大家参考,具体如下: register_shutdown_function Registers the function named by function to be executed when script processing is complete or when exit() is called. 此函数可以重复注册,然后会依次调用 当发生致命性错误或者exit时都会调用此函数 error_reporting(0); register_

随机推荐