>백엔드 개발 >PHP 튜토리얼 >php window平台模拟checkdnsrr函数检测email是否真实存在_PHP教程

php window平台模拟checkdnsrr函数检测email是否真实存在_PHP教程

WBOY
WBOY원래의
2016-07-13 10:28:111080검색

在php的系统函数中有一个checkdnsrr函数,该函数的作用是根据一个给定的host name(域名)或者IP地址检查它是否有DNS记录,目的就是检验它是否真实存在。但是该函数仅可以在linux系统下使用,并不支持windows平台。下面是网上搜集到的一个hack的方法,实现在window平台上模拟checkdnsrr函数来检测一个email是否存在的功能!

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记录              任何记录,所有数据类型

您可能感兴趣的文章

  • php利用filter函数验证邮箱、url和ip地址的方法
  • php获取汉字拼音首字母的函数(真正可以使用的)
  • Sphinx在windows下安装使用[支持中文全文检索]
  • php判断函数,类,类方法是否存在
  • php 模拟get_headers函数
  • php获取目录所有文件并将结果保存到数组的程序
  • windows环境下mysql数据库的主从同步备份步骤
  • JS常用函数收集(去除空格,验证邮箱,日期,正整数等)

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/813353.htmlTechArticle在php的系统函数中有一个checkdnsrr函数,该函数的作用是根据一个给定的host name(域名)或者IP地址检查它是否有DNS记录,目的就是检验它是否...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.