Maison >développement back-end >tutoriel php >Comment obtenir le temps de ping en php
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 'PHP_INT_MAX : ' . PHP_INT_MAX . "<br><br>"; $ip = '115.29.237.28'; // IP地址 if (PATH_SEPARATOR==':') // linux { echo 'I am linux' . "<br><br>"; exec("ping -c 3 -w 5 $ip", $info); echo 'linux info : ' . "<br>"; print_r($info); $ping_time_line = end($info); echo '<br><br>ping_time_line : ' . $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 'I am windows' . "<br><br>"; exec("ping -c 3 -w 5 $ip", $info); echo 'windows info : ' . "<br>"; print_r($info); $info_time = end($info); echo '<br><br>info_time : ' . $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['ping_min'] = $ping_time_min; $result['ping_avg'] = $ping_time_avg; $result['ping_max'] = $ping_time_max; print_r($result); } ping_time('115.29.237.28');
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!