ddxiami

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2711|回复: 1

[php函数] 基础函数-网络操作函数

[复制链接]
发表于 2015-8-21 22:59:02 | 显示全部楼层 |阅读模式
本节内容了解即可,有些函数在新版本的PHP已被替换掉。

checkdnsrr — 给指定的主机(域名)或者IP地址做DNS通信检查
closelog — 关闭系统日志链接
define_syslog_variables — 初始化所有syslog相关变量
dns_check_record — checkdnsrr别名
dns_get_mx — getmxrr别名
dns_get_record — 获取指定主机的DNS记录
fsockopen — 打开一个网络连接或者一个Unix套接字连接
gethostbyaddr — 获取指定的IP地址对应的主机名
gethostbyname — 获取指定的主机名对应的IP地址
gethostbynamel — 获取指定的主机名对应的一系列IP地址
gethostname — 获取主机名
getmxrr — 获取指定的主机名对应的MX记录
getprotobyname — 获取指定的协议名对应的协议号
getprotobynumber — 获取指定的协议号对应的协议名
getservbyname — 获取指定的互联网服务和协议对应的端口号
getservbyport — 获取指定的协议和端口号对应的互联网服务
header_register_callback — 调用一个头部函数
header_remove — 删除之前设置的头部
header — 发送一个自定义的http报文
headers_list — 返回一系列已发送(或准备发送)的响应头部信息
headers_sent — 检查头部是否已经发送或发送到哪里
http_response_code — 获取或设置HTTP响应代码
inet_ntop — 把一个封装的网络地址转化为点分十进制的表示方式
inet_pton — 把一个 点分十进制的IP地址 转化为封装好的 (in_addr) 表示方式
ip2long — 将一个IPV4的字符串互联网协议转换成数字格式
long2ip — 将一个IPV4的数字格式转换成字符串互联网协议
openlog — 打开系统日志记录器的连接
pfsockopen — 打开一个持久的网络连接或者Unix套接字连接。
setcookie — 发送 cookie
setrawcookie — 发送一个原始 cookie (cookie值没有经过URL编码)
socket_get_status — stream_get_meta_data别名
socket_set_blocking — stream_set_blocking别名
socket_set_timeout — stream_set_timeout别名
syslog — 生成一个系统日志消息
回复

使用道具 举报

 楼主| 发表于 2015-8-22 13:17:57 | 显示全部楼层
#checkdnsrr — 给指定的主机(域名)或者IP地址做DNS通信检查
#语法:bool checkdnsrr ( string $host [, string $type = "MX" ] )
=======================================================
<?php
// checkdnsrr() support for Windows by HM2K <php [spat] hm2k.org>
function win_checkdnsrr($host, $type='MX') {
    if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') { return; }
    if (empty($host)) { return; }
    $types=array('A', 'MX', 'NS', 'SOA', 'PTR', 'CNAME', 'AAAA', 'A6', 'SRV', 'NAPTR', 'TXT', 'ANY');
    if (!in_array($type,$types)) {
        user_error("checkdnsrr() Type '$type' not supported", E_USER_WARNING);
        return;
    }
    @exec('nslookup -type='.$type.' '.escapeshellcmd($host), $output);
    foreach($output as $line){
        if (preg_match('/^'.$host.'/',$line)) { return true; }
    }
}

// Define
if (!function_exists('checkdnsrr')) {
    function checkdnsrr($host, $type='MX') {
        return win_checkdnsrr($host, $type);
    }
}

/* example */

echo "<pre>";
$domains=array('example.com','php.net');
foreach ($domains as $domain) {
    $result=checkdnsrr($domain);
    echo $domain.':';
    echo $result?"true ":"false ";
        echo '<br>';
}
?>
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|技术文档库 ( 闽ICP备15017263号-2 )|网站地图

GMT+8, 2025-5-18 20:10 , Processed in 0.039780 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表