Heim  >  Artikel  >  Backend-Entwicklung  >  So erhalten Sie die Ping-Zeit in PHP

So erhalten Sie die Ping-Zeit in PHP

黄舟
黄舟Original
2017-09-30 09:10:151754Durchsuche

In diesem Artikel werden hauptsächlich relevante Informationen zum Erhalten von Ping-Zeit in PHP vorgestellt. Ich hoffe, dass dieser Artikel jedem helfen kann, eine solche Funktion zu erreichen.

PHP kann es ausführen Shell-Befehle über die Exec-Funktion, um die Ping-Zeit zu erhalten.

Codebeispiel:


echo &#39;PHP_INT_MAX : &#39; . PHP_INT_MAX . "<br><br>";
 
$ip = &#39;115.29.237.28&#39;;    // IP地址
 
if (PATH_SEPARATOR==&#39;:&#39;)  // linux
{
  echo &#39;I am linux&#39; . "<br><br>";
   
  exec("ping -c 3 -w 5 $ip", $info);
  echo &#39;linux info : &#39; . "<br>";
  print_r($info);
   
  $ping_time_line = end($info);
  echo &#39;<br><br>ping_time_line : &#39; . $ping_time_line . "<br><br>";
   
  $ping_time = explode("=", $ping_time_line)[1];
  $ping_time_min = explode("/", $ping_time)[0] / 1000.0;
  $ping_time_avg = explode("/", $ping_time)[1] / 1000.0;
  $ping_time_max = explode("/", $ping_time)[2] / 1000.0;
   
  echo $ping_time_min . " " . $ping_time_avg . " " . $ping_time_max . "<br><br>";
   
}
else             // windows
{
  echo &#39;I am windows&#39; . "<br><br>";
 
  exec("ping -c 3 -w 5 $ip", $info);
  echo &#39;windows info : &#39; . "<br>";
  print_r($info);
   
  $info_time = end($info);
  echo &#39;<br><br>info_time : &#39; . $info_time . "<br><br>";
}

Laufergebnis:


PHP_INT_MAX : 9223372036854775807

Ich bin Linux

Linux-Info:

Array ( [0] => PING 115.29.237.28 (115.29.237.28) 56(84) Bytes Daten. [1] => 64 Bytes von 115.29.237.28: icmp_seq=1 ttl=52 Zeit=26,1 ms [2] => 64 Bytes von 115.29.237.28: icmp_seq=2 ttl=52 Zeit=27,5 ms [3] => 64 Bytes von 115.29.237.28: icmp_seq=3 ttl=52 time=25,2 ms [4] => [5] => – 115.29.237.28 Ping-Statistik – [6] => 3 Pakete gesendet, 3 empfangen, 0 % Paket Verlust, Zeit 2002 ms [7] => rtt min/avg/max/mdev = 25,280/26,339/27,590/0,970 ms )

ping_time_line : rtt min/avg/max/mdev = 25,280/26,339/ 27,590/ 0,970 ms

0,02528 0,026339 0,02759

Holen Sie sich die Ping-Zeit und kapseln Sie sie in eine Funktion


function ping_time($ip) {
  $ping_cmd = "ping -c 3 -w 5 " . $ip;
  exec($ping_cmd, $info);
  $ping_time_line = end($info);
   
  $ping_time = explode("=", $ping_time_line)[1];
  $ping_time_min = explode("/", $ping_time)[0] / 1000.0;
  $ping_time_avg = explode("/", $ping_time)[1] / 1000.0;
  $ping_time_max = explode("/", $ping_time)[2] / 1000.0;
   
  $result = array();
  $result[&#39;ping_min&#39;] = $ping_time_min;
  $result[&#39;ping_avg&#39;] = $ping_time_avg;
  $result[&#39;ping_max&#39;] = $ping_time_max;
   
  print_r($result);
}
 
ping_time(&#39;115.29.237.28&#39;);

zum Ausführen Ergebnis:


Array ( [ping_min] => 0.025497 [ping_avg] => 0.025947 [ping_max] => 0.026753 )

Das obige ist der detaillierte Inhalt vonSo erhalten Sie die Ping-Zeit in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn