php如何实现这样的效果,大家来讨论下。 检测是否能ping通201.168.56.17 。如果可以ping通。。echo (延迟是多少)如果ping不通 》返回 echo("ping return ;")就是检测对方主机是否运行大牛来指点一二。新手来学习一下。大家一起讨论下啦 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 exec 我试过,但不是很理想 搜到一段代码:<?php $host = '192.168.1.1'; //要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++){ echo ping($host,$port); sleep(1); ob_flush(); flush();}?> 其实ping不过是发送ICMP报文,以测试和目标主机的连通性,可以用ls的方法fsocketopen方法发送http请求模拟。 用 php 中的 exec() 调用命令来实现 最好。 $ip = "192.168.1.1"; exec( "ping $ip ", $arr); print_r($arr); ping发送的是ICMP报文,只能用raw socket谷歌搜索结果的第一条就是文档,文档前几楼就是ping的例子http://php.net/manual/en/function.socket-create.php 已知一個圖片的url,以及圖片的某部分的4個頂點的坐標(即:非整幅圖取出),能否在瀏覽器上取出該4點坐標對應的圖片? 如何设定时间让curl 自动抓取网站信息 每篇文章下面跟个带评论的怎么设计 怎么在生成图像后面 echo 出文字 每刷新一次增加一条上一次的留言(怎么解决?) php或者JS实现比较两篇文章的不同 为什么我的PHP加载不了php_bz2.dll文件 如何判断变量的类型? 关于多表检索的问题,怎么办?我是新手,分不多。 在数据库中存储图片并显示的问题。 微博,SNS的API怎么实现 问一个unpack难题
<?php
$host = '192.168.1.1'; //要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++)
{
echo ping($host,$port);
sleep(1);
ob_flush();
flush();
}
?>
exec( "ping $ip ", $arr); print_r($arr);
http://php.net/manual/en/function.socket-create.php