其实很简单
<?php
/**
*@param $ip target ip
*@param $times ping times
*/
function ping($ip,$times=4)
{
$info = array();
if(!is_numeric($times) || $times-4<0)
{
$times = 4;
}
if (PATH_SEPARATOR==‘:‘ || DIRECTORY_SEPARATOR==‘/‘)//linux
{
exec("ping $ip -c $times",$info);
if (count($info) < 9)
{
$info[‘error‘]=‘timeout‘;
}
}
else //windows
{
exec("ping $ip -n $times",$info);
if (count($info) < 10)
{
$info[‘error‘]=‘timeout‘;
}
}
return $info;
}
$ip = ‘127.0.0.1‘;//IP地址
print_r(ping($ip));
?>
结果如下:
Array ( [0] => [1] => 正在 Ping 127.0.0.1 具有 32 字节的数据: [2] => 来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64 [3] => 来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64 [4] => 来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64 [5] => 来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64 [6] => [7] => 127.0.0.1 的 Ping 统计信息: [8] => 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), [9] => 往返行程的估计时间(以毫秒为单位): [10] => 最短 = 0ms,最长 = 0ms,平均 = 0ms )
try doing it!
原文:http://my.oschina.net/ososchina/blog/345401