开发人员必备 PHP强大的网络功能介绍

2018 年 1 月 3 日1540

开发人员必备 PHP强大的网络功能介绍


  作者: 廖煜嵘/译 日期: 2010-12-22 文章属性:专稿

  【IT168 专稿】PHP已经是十分强大的脚本语言了,这个已不容置疑。而在处理网络方面的功能上,PHP其实也毫不逊色。本文将展示PHP中主要的关于网络方面的主要功能函数,代码可以在本文的附件中下载。

  通过PHP访问并获得网页内容

  通过PHP去访问并获得网页内容是十分容易的,通过使用fopen函数,就象访问普通的文件那样就可以了,如

  

  fopen(http://localhost/websecure/ftp.php, r);


fopen函数有如下的一些参数:

  

开发人员必备 PHP强大的网络功能介绍


  要注意的是,注意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程序,可供参考。

  

0 0