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

在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利用session_set_save_handler()函数将session保存到MySQL数据库中
  • windows环境下mysql数据库的主从同步备份步骤
  • php获取目录所有文件并将结果保存到数组的程序
  • php 模拟get_headers函数

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 函数
, 域名
, type
, 一个
, get_matches
checkdnsrr
checkdnsrr、php checkdnsrr、email check、check your email、uc user checkemail,以便于您获取更多的相关知识。

时间: 2024-11-29 01:27:47

php window平台模拟checkdnsrr函数检测email是否真实存在的相关文章

php实现window平台的checkdnsrr函数

  这篇文章主要介绍了php实现window平台的checkdnsrr函数,PHP的自带checkdnsrr函数只在linux平台有效,本文就模拟出了一个window下可以使用的checkdnsrr函数,需要的朋友可以参考下 PHP的自带checkdnsrr函数只在linux平台有效.使用惯了在window平台不能使用的话给兼容性带来麻烦. 因此写了个checkdnsrr模拟函数在window平台环境使用. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 if (!functio

php实现window平台的checkdnsrr函数_php实例

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

android studio 新建项目gradle几分钟才好??(window平台)

问题描述 android studio 新建项目gradle几分钟才好??(window平台) 如题所问,是什么原因呢??有时一直gradle,而且有时运行项目的时候也会出现这种情况,请求大神答案.. 解决方案 android studio如何导入第三方库slidingmenu(gradle项目)Android Studio 导入 Gradle 项目 解决方案二: 1.5版本有这个问题2.0就好了,当然也看你机器快慢 解决方案三: 我现在就是2.0的版本

window平台下开发的java程序如何部署到unix

问题描述 如题window平台下开发的java程序如何部署到unix?具体步骤 解决方案 解决方案二:web项目,用什么容器?websphere?直接用ibm/console就行了,weblogic应该也有类似的功能非web项目直接copy过去,用java-jar启动就行了,或者写个.sh脚本解决方案三:应该比较简单吧?如果jdk是一样的,直接把war包搞过去,如果不一样,在unix上进行编译就OK了解决方案四:web项目打包成warunix安装好服务器即可java后台项目直接传过去配置好jav

window平台安装MongoDB数据库图文详解_MongoDB

本文介绍了window平台安装MongoDB数据库的详情,具体如下 官网:www.mongodb.org 安装-->设置环境变量-->启动 1.下载: 根据系统下载 32 位或 64 位的 .msi 文件,下载后双击该文件,按提示安装即可, 国外网站打开运行速度比较慢.现在给个国内下载地址.http://www.jb51.net/softs/41751.html 2.设置安装目录: 通过点击 "Custom(自定义)" 按钮来设置你的安装目录,我将其安装在D:\MongoD

微信公众平台模拟群发技术

文前 .raspberry FQ路由器文章已跳票.因为准备在gitshell上面先发,带markdown. 微信公共平台 最近比较火. 它自身有简单的自动回复功能(判断条件成立则发送相应的文字.素材图像.图文等). 感觉有点搞头,于是去找api.官方的不可能有.最简单的方法就是用firebug. http request 和 response 都取下来.慢慢看,看懂就不用看下文了,看不懂的也不用看下文了,好吧我又纠结了,那还写个毛线啊. 首先是,cookies的处理.直接把firebug里面的c

表单递交合法性检测-Email

以下代码加入HTML的<body>区: <script language="javascript"> <!-- Begin function chk(email, formname) { invalid = ""; if (!email) invalid = "请输入您的Email地址."; else { if ( (email.indexOf("@") == -1) || (email.inde

使用finfo_file()函数检测上传图片的类型

该函数可以检测文件的MIME类型.因为有时候我们只根据文件后缀来判断是不准确的. function getMIME($filename){ $finfo = finfo_open(FILEINFO_MIME_TYPE); return finfo_file($finfo, $filename); } echo getMIME('test.jpg'); //image/jpeg finfo_file 文档 (PHP >= 5.3.0, PECL fileinfo >= 0.1.0) finfo_

Linux/UNIX和Window平台上安装Mysql_Mysql

所有平台的Mysql下载地址为:MySQL 下载. 挑选你需要的 MySQL Community Server 版本及对应的平台.  一.Linux/UNIX上安装Mysql Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址: MySQL - MySQL服务器.你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器.MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器.MySQL-devel - 库和包含文件