其实很简单
<?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!