Maison  >  Article  >  développement back-end  >  Comment obtenir le temps de ping en php

Comment obtenir le temps de ping en php

黄舟
黄舟original
2017-09-30 09:10:151713parcourir

Cet article présente principalement les informations pertinentes sur la façon d'obtenir le temps de ping en PHP. J'espère que cet article pourra aider tout le monde à réaliser une telle fonction. Les amis dans le besoin peuvent s'y référer

PHP peut. exécutez des commandes shell via la fonction exec pour obtenir le temps de ping.

Exemple de code :


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>";
}

Résultat d'exécution :


PHP_INT_MAX : 9223372036854775807

Je suis Linux

infos Linux :

Array ( [0] => PING 115.29.237.28 (115.29.237.28) 56(84) octets de données. [1] => 64 octets de 115.29.237.28 : icmp_seq=1 ttl=52 temps=26,1 ms [2] => octets de 115.29.237.28 : icmp_seq=3 ttl=52 time=25,2 ms [4] => [5] => 115.29.237.28 statistiques ping — [6] => 3 paquets transmis, 3 reçus, 0 % de paquet perte, temps 2002ms [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

Obtenez le temps Ping et encapsulez-le dans une fonction


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;);

pour exécuter Résultat :


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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn