开发人员必备 PHP强大的网络功能介绍
开发人员必备 PHP强大的网络功能介绍
作者: 廖煜嵘/译 日期: 2010-12-22 文章属性:专稿
【IT168 专稿】PHP已经是十分强大的脚本语言了,这个已不容置疑。而在处理网络方面的功能上,PHP其实也毫不逊色。本文将展示PHP中主要的关于网络方面的主要功能函数,代码可以在本文的附件中下载。
通过PHP访问并获得网页内容
通过PHP去访问并获得网页内容是十分容易的,通过使用fopen函数,就象访问普通的文件那样就可以了,如
fopen(http://localhost/websecure/ftp.php, r);
fopen函数有如下的一些参数:
要注意的是,注意fopen中访问的URL中,如果最后的是目录,要加上斜杠,比如
fopen(http://http://www.zjjv.com//, r)) {
// print the first 5 bytes
echo stream_get_contents($stream, 5);
fclose($stream);
}
也可以用更快的函数,如file_get_contents即可:
$url=http://http://www.zjjv.com///;
echo file_get_contents( $url );
关于DNS和IP
Php在DNS域名解析方面的功能也十分强大。当然这功能会受到DNS客户端的一些限制,目前php在DNS解析方面提供了gethostbyname(string hostname)这个方法,其中参数是服务器的域名,返回的是对应的IP,比如:
$host = http://www.zjjv.com/;
$ip = gethostbyname($host);
echo The IP address of $host is $ip;
>
而另外一个方法gethostbynamel则是可以返回某个域名下的所有IP,比如:
$host= localhost;
$ip= gethostbynamel($host);
echo(The IP addresses of $hostare:
\n);
for ($i = 0; $i < count($ip); $i++) {
echo($ip [i]
\n);
}
>
比如你的机器是有多个IP的话,上面则可以输出所有的IP了。
同样,如果给出了IP的话,则可以反过来通过gethostbyaddr()获得其域名,如下例:
$ip = 127.0.0.1;
$host= gethostbyaddr($ip);
echo(The host name corresponding to the IP
address $ip is $host);
>
关于WHOIS服务
有的时候,只是通过域名还是不能完全了解一个网站的详细情况的话,可以通过使用WHOIS服务去查询。WHOIS服务可以具体查出某一域名及其注册的详细情况,而在PHP中也有相关函数可以查询,是通过PEAR包中的Net_Whois(http://http://www.zjjv.com///package/Net_Whois/ )实现,安装该包后,代码如下:
http://http://www.zjjv.com///TR/xhtml1/DTD/xhtml1-transitional.dtd>
require_once Net/Whois.php;
$server = whois.networksolutions.com;
$query = metroworks.com;
$whois = new Net_Whois;
$urlinfo = $whois->query($query, $server);
var_dump($urlinfo);
>
其中$server指定了用哪一个whois解析商去进行解析,$query指定了需要查找的域名,最后使用var_dmp列出了域名的详细信息。
在本文的附件中(附件代码下载),提供了一个完整的例子,是一个通过PHP简单实现的FTP程序,可供参考。