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

Comment obtenir le temps de ping en php

黄舟
Libérer: 2023-03-16 14:06:01
original
1812 Les gens l'ont consulté

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>";
}
Copier après la connexion

Résultat d'exécution :


PHP_INT_MAX : 9223372036854775807
Copier après la connexion

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;);
Copier après la connexion

pour exécuter Résultat :


Array ( [ping_min] => 0.025497 [ping_avg] => 0.025947 [ping_max] => 0.026753 )
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal