龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

PHP判断端口是否打开的代码

时间:2014-07-22 14:52来源: 作者: 点击:
分享到:
span style=font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;line-height:19px;font-size:13px;h2 style=margin-top:10px;font-size:13px;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#666666;span style=font-family

PHP判断端口是否打开的代码


<?php
 2    $host = 'www.baidu.com'; //要ping的地址,也可以是IP
 3     $port = '80'; //要ping的端口
 4    $num  = 3;
 5   function microtime_float()
 6   {
 7           list($usec, $sec) = explode(" ", microtime());
 8           return ((float)$usec + (float)$sec);
 9   }
10  function ping($host,$port)
11  {
12          $time_start = microtime_float();
13          $ip = gethostbyname($host);
14          $fp = @fsockopen($host,$port,&$errno,&$errstr,1);
15          if(!$fp) return 'replay time out!';
16          $get = "GET / HTTP/1.1\r\nHost:".$host."\r\nConnection: Close\r\n\r\n";
17          @fputs($fp,$get);
18          @fclose($fp);
19          $time_end = microtime_float();
20          $time = $time_end - $time_start;
21          $time = ceil($time * 1000);
22          return 'Reply from '.$ip.': time='.$time.'ms<br />';
23  }
24  echo 'Pinging '.$host.' ['.gethostbyname($host).'] with Port:'.$port.' of data:<br /><br />'."\r\n";
25  for($i = 0;$i < $num;$i++)
26  {        
27          ping($host,$port);
28          sleep(1);
29          ob_flush();
30          flush();
31  }
32  ?>
精彩图集

赞助商链接