//有一个php的ping程序目的是来测试网速和连接情况的,程序和运行的结果如下,现在想把结果取出部分值并组成新数组,如下面的结果,要取得值"50% los","232ms","232ms"."232ms"返回新数组如:"50%,232,232,232",也就是程序运行结果直接返回"50%,232,232,232",而不要那么多ping 程序执行结果
////////ping 程序开始////////?>
if(($server == '127.0.0.1')||($server == 'localhost')||($server == getenv("SERVER_ADDR"))) {
echo "
";
echo "
Fuck Off!";
echo "
";
exit;
} else {
if($server =="") {
echo "
请输入url或ip地址:
";
exit;
}
}
$ip1 = getenv("REMOTE_ADDR");
$hname = getenv("HTTP_HOST");
$count = 5;
$psize = 32;
echo "
Your IP is: $ip1"
."
Trying to ping: $server"
."
Using server: $hname";
echo "
";
echo "
STATS:";
// 该函数返回对提交主机ping的值 lost/min/max/avg
function myPing($ping_count='4',$ping_psize='32', $ping_server='www.baidu.com')
{
$command = "ping -n $ping_count -l $ping_psize $ping_server";
exec($command, $result, $rval);
$aa=count($result);
if(count($result) <= 0) {
$myPing='100%,0,0,0';
exit;
}
$bb=$aa-3;
$cc=$aa-1;
$ping_los=explode(',',$result[$bb]);
$ping_times=explode(',',$result[$cc]);
$ping_lose_value= strstr($ping_los[2],'(');
$ping_lose_value=preg_replace('/[^0-9.]+/','',$ping_lose_value);
$ping_times_min= preg_replace('/[^0-9.]+/','',$ping_times[0]);
$ping_times_max= preg_replace('/[^0-9.]+/','',$ping_times[1]);
$ping_times_avg= preg_replace('/[^0-9.]+/','',$ping_times[2]);
$myPing= $ping_lose_value.'%,'.$ping_times_min.','.$ping_times_max.','.$ping_times_avg ;
echo $myPing;
}
echo myPing(6,32,$server);
//2个小时...郁闷 本以为三十分可以解决 函数已经给你封装了 你可以自己扩展了 希望尽可能的还是多给点分 好累..
?>