php实现的ping端口函数实例
php实现的ping端口函数实例
发布时间:2016-12-29 来源:查字典编辑
摘要:本文实例讲述了php实现的ping端口函数。分享给大家供大家参考。具体实现代码如下:复制代码代码如下:

本文实例讲述了php实现的ping端口函数。分享给大家供大家参考。

具体实现代码如下:

复制代码 代码如下:

<?php

/*

* @author xujiajay

* @date 2010-10-7

* @function 可以ping端口的php函数

*

*/

error_reporting(E_ERROR);

header("content-Type: text/html; charset=utf-8");

set_time_limit(120);

$host = isset($_POST['url']) ? chop(str_replace('http://','',$_POST['url'])) : 'www.baidu.com';

$port = isset($_POST['duankou']) ? chop($_POST['duankou']) : '80';

$num = 10;

function microtime_float()

{

list($usec, $sec) = explode(" ", microtime());

return ((float)$usec + (float)$sec);

}

function getsoft($host,$port)

{

$fp = @fsockopen($host,$port,&$errno,&$errstr,3);

if(!$fp) return 'unknown';

$get = "GET / HTTP/1.1rnHost:".$host."rnConnection: Closernrn";

@fputs($fp,$get);

$data = '';

while ($fp && !feof($fp))

$data .= fread($fp, 1024);

@fclose($fp);

$array = explode("n",$data);

$k = 2;

for($i = 0;$i < 20;$i++)

{

if(stristr($array[$i],'Server')){$k = $i; break;}

}

if(!stristr($array[$k],'Server')) return 'unknown';

else return str_replace('Server','服务器软件',$array[$k]);

}

function ping($host,$port)

{

$time_start = microtime_float();

$ip = gethostbyname($host);

$fp = @fsockopen($host,$port,&$errno,&$errstr,1);

if(!$fp) return 'Request timed out.'."rn";

$get = "GET / HTTP/1.1rnHost:".$host."rnConnection: Closernrn";

@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';

}

if(isset($_POST['url']) && isset($_POST['duankou']))

{

echo '<font color="#FF0000">'.getsoft($host,$port).'</font>';

echo 'Pinging '.$host.' ['.gethostbyname($host).'] with Port:'.$port.' of data:'."rn";

ob_flush();

flush();

for($i = 0;$i < $num;$i++)

{

echo ping($host,$port);

ob_flush();

flush();

sleep(1);

}

}

?>

<form method="POST">

域名/IP:<input type="text" name="url" value="<?php echo $host;">

端口:<input type="text" name="duankou" value="<?php echo $port;">

<input type="submit" value="ping">

</form>

希望本文所述对大家的PHP程序设计有所帮助。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类