PHP判断端口是否打开的代码
PHP #fsockopen2012-10-30 14:03
<?php
$host = 'yige.org'; //要ping的地址,也可以是IP
$port = '80'; //要ping的端口
$num = 3;
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
function ping($host,$port)
{
$time_start = microtime_float();
$ip = gethostbyname($host);
$fp = @fsockopen($host,$port,&$errno,&$errstr,1);
if(!$fp) return 'replay time out!';
$get = "GET / HTTP/1.1\r\nHost:".$host."\r\nConnection: Close\r\n\r\n";
@fputs($fp,$get);
@fclose($fp);
$time_end = microtime_float();
$time = $time_end - $time_start;
$time = ceil($time * 1000);
return 'Reply from '.$ip.': time='.$time.'ms<br />';
}
echo 'Pinging '.$host.' ['.gethostbyname($host).'] with Port:'.$port.' of data:<br /><br />'."\r\n";
for($i = 0;$i < $num;$i++)
{
ping($host,$port);
sleep(1);
ob_flush();
flush();
}
?>相关文章
- PHP访问MYSQL数据库封装类 2012/10/30
- php跳转的三种实现方法 2012/10/30
- php怎样判断MySQL的update语句是否执行成功 2012/10/30
- PHP引号的正确使用 2012/10/30
- php支持apc和文件缓存的缓存类 2012/10/30
- php可以逆转的加密类 2012/10/30
- PHP获取指定IP地址的whois数据 2012/10/30
- php5中北京时间差8小时的解决办法 2012/10/30
- PHP计算两个时间相差的天/时/分/秒 2012/10/30
- PHP文件夹复制的函数 2012/10/30