ホームページ >php教程 >php手册 >クラシック: 10 の重要な PHP ネットワーク情報関数の説明

クラシック: 10 の重要な PHP ネットワーク情報関数の説明

WBOY
WBOYオリジナル
2016-06-21 09:00:56910ブラウズ

PHP与网页结合得如此紧密,以致于很容易忘记这种语言还可用来执行其它功能——数据加密、窗口应用与接口编程就是其中三个例子。既然网络编程是大多数开发者最可能遇到麻烦的领域,所以值得花时间来浏览一下PHP的内置网络函数,了解它们提供的功能,以及它如何帮助您完成下一个项目。

下表(表A)中列出了PHP中的10个最有趣、最有用的网络函数,它是您了解PHP网络编程功能的起点,并为您进入多数网络开发者通常并未涉及的领域提供启示。每个函数都有说明与用法实例,为您说明在何时,该怎样应用这些函数。

これらの関数はプロトコル名とシステム全体の /etc/protocols ファイルからの番号。 この関数を使用して、システム サービスを実行するためのポート情報を自動的に取得します。 'tcp');80 これらの関数は、IP アドレスをバイナリ アドレスと人間が判読できるアドレスの間で変換します。 この関数は、Ipv4/Ipv6 アドレス文字列とバイナリ表現の間で変換するために使用します。 ('192.168.0.1');LOG_NDELAY, LOG_LOCAL0);
 函数  说明  实例
 

getmxrr

($hostname,

$mxhosts)

 该函数用来恢复某个特定主机的MX(邮件交换记录)主机名称。

用这个函数来确认某个域的邮件主机,通常以验证那个域上的一个邮箱开始。

 代码:

$hosts = array();

$ret = getmxrr

('techrepublic.com', $hosts);

if ($ret) {

print_r($hosts);

} else {

echo 'MX retrieval failed';

}

?>

 

输出:

Array (

[0] => c10-mail.cnet.com

[1] => c12-mail.cnet.com

)

 gethostbyaddr
($ip)
 该函数用来恢复与一个IP有关的主机名。
用此函数执行一个逆DNS查找,把一个名称给某个IP地址——如记录您的网络服务器日志的IP地址。

 代码:
echo gethostbyaddr
('216.239.115.148');
?>

输出:
c10-sha-redirect-
lb.cnet.com

 gethostbyname
($name)
 该函数与gethostbyaddr()函数互逆,恢复与主机有关的IP地址。
用此函数执行一个标准的DNS查找,获得与IP地址有关的主机名——例如自动将有疑点的域列入黑名单时。

 代码:
echo gethostbyname
('techrepublic.com');
?>

输出:
216.239.115.148

 p2long($ip)

long2ip($long)
 这些函数将由符号连接的四个小于255的数字代表的IP地址转换成整数,或进行逆操作。
在您需要用整数格式表示IP地址(通常用于数字计算),或用IP地址表示数字格式时,应用这些函数。

 代码:
echo ip2long
('216.239.115.148');
echo long2ip(-655395948);
?>

输出:
-655395948
216.239.115.148

 checkdnsrr
($host, $type)
 该函数在DNS中检查与$host主机相符的$type类型记录,如发现,即返回布尔真值。
用此函数检查主机中是否存在某个特定的DNS记录类型。

 代码:
$ret = checkdnsrr
('techrepublic.com', SOA);
if ($ret) {
echo 'SOA records
exist for host';
} else {
echo 'SOA records do
not exist for host';
}
?>

输出:
SOA records exist for host

 dns_get_record
($host, $type)
 该函数返回$host主机的DNS记录。可选的$type参数只可用来恢复那些与一个特定的类型匹配的子集。
用此函数恢复某个特殊主机的详细DNS记录。

 代码:
$data = dns_get_record
('techrepublic.com');
print_r($data);
?>

出力:
配列
(
[0] => 配列
(
[host] =>
techrepublic.com
[type ] = > MX
[プリ] => 500
[ターゲット] => 10756
)
[1] => >
techrepublic.com
[タイプ] => NS
[ターゲット] =>
ns3.cnet.com
[クラス] => >



getprotobyname
($num)
および
getprotobynum
($name)

これらの関数を使用して、名前または番号に基づいてシステム プロトコル情報を復元します。




コード:
echo getprotobyname(81);
echo getprotobyname('icmp');
?>

出力:
vmtp
1




getservbyname($service,
$protocol)

この関数は、$protocol プロトコルを使用して、pan-system/etc/ から $service を取得します。 services ファイル サービス回復ポート番号。

コード:
echo getservbyname('http',
?> >
出力:





inet_ntop
($addr)

および

inet_pton($addr)




コード:
$packed = inet_pton
$unpacked = inet_ntop($packed);
echo $unpacked;
?>

出力: 192.168.0.1






syslog
($level, $msg)


この関数は、警告レベル $level を使用して $msg 情報をログに記録しますシステムログデバイスに保存されます。
この関数を使用して、システム全体のエラーまたは警告を通知します。

コード: define_syslog_variables();openlog('mylog', syslog(LOG_DEBUG, 'これはデバッグ メッセージです');
closelog();
?>








声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。