You can use this program or just alter it...
Code:
<?php
// Script created by telefoontoestel
// for info of some kind please send an email to
// telefoontoestel at officexpert dot digitaal dot biz
// get_microtime() function copied from php.net: function microtime() user contributes
// get_microtime function
function get_microtime(){
list($usec, $sec) = @split(" ", microtime());
return ((float)$usec + (float)$sec);
}
// end of get_microtime function
// ping function
function ping($server, $num_pings=4, $size=32, $time_out=15){
if(!is_int($num_pings) || $num_pings < 0) $num_pings = 4;
if(!is_int($size) || $size < 0) $size = 32;
if(!is_int($time_out) || $time_out < 0) $time_out = 15;
$results = Array();
for($i = 0; $i < $size; $i++){
$data .= "\0";
}
$server_ip = gethostbyname($server);
$server_name = $server;
if($server_ip != $server_name) $results[0]["server_name"] = $server_name." [".$server_ip."]";
else $results[0]["server_name"] = $server_ip;
$results[0]["server_ip"] = $server_ip;
$results[0]["bytes"] = $size;
for($i = 1; $i <= $num_pings; $i++){
$start_timer = get_microtime();
if(($handle = @fsockopen("udp://".$server_ip, 7, $errno, $errstr, $time_out)) == false)
if(($handle = @fsockopen($server_ip, 7, $errno, $errstr, $time_out)) == false){
$results[$i]["bytes"] == 0;
$results[$i]["time"] == -1;
continue;
}
@fputs($handle, $data, $size);
$results[$i]["bytes"] = @fgets($handle, $size);
$results[$i]["time"] = round((get_microtime() - $start_timer) * 1000);
$start_timer = 0;
@fclose($handle);
}
return $results;
}
// end of ping function
if(($server = $_GET["server"]) == "") $server = "127.0.0.1";
$result = ping($server);
$lost = 0;
$received = 0;
$send = sizeof($result) - 1;
$max_time = 0;
$min_time = 15000;
$avg_time = 0;
$total_time = 0;
print "Pinging ".$result[0]["server_name"]." with ".$result[0]["bytes"]." bytes of data:<br><br>\n";
for($i = 1; $i < sizeof($result); $i++){
if($result[$i]["time"] == -1){
print "Request timed out<br>\n";
$lost++;
continue;
}
$total_time += $result[$i]["time"];
$received++;
if($result[$i]["time"] > $max_time) $max_time = $result[$i]["time"];
else if($result[$i]["time"] < $min_time) $min_time = $result[$i]["time"];
print "Reply from ".$result[0]["server_ip"].": bytes=".$result[0]["bytes"]." time=".$result[$i]["time"]."ms <br>\n";
}
$avg_time = round($total_time / $send);
print "<br>\n";
print "Ping statistics for ".$result[0]["server_ip"].":<br>\n";
print "Packets: Sent = ".$send.", Received = ".$received.", Lost = ".$lost." (".round((100 / $send) * $lost)."% loss)<br>\n";
print "Approximate roundtrip in milli-seconds:<br>\n";
print "Minimum = ".$min_time."ms, Maximum = ".$max_time."ms, Average = ".$avg_time."ms<br>\n";
?>