PHPでping時間を取得する方法

黄舟
黄舟オリジナル
2017-09-30 09:10:151777ブラウズ

この記事は、PHP で ping 時間を取得する方法に関する関連情報を主に紹介します。この記事が、このような機能を実現するのに役立つことを願っています。

PHP では、exec 関数を通じてシェル コマンドを実行できます。 ping 時間を取得します。

コード例:


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

実行結果:


PHP_INT_MAX : 9223372036854775807

I am linux

linux info :

Array ( [0] => PING 115.29.237 .28 (115.29.237.28) 56 (84) バイトのデータ [1] => 115.29.237.28 からの 64 バイト: icmp_seq=1 ttl=52 時間 = 26.1 ミリ秒 [2] => 115.29.237.28 からの 64 バイト: icmp_seq=2 ttl=52 時間=27.5 ミリ秒 [3] => 115.29.237.28 からの 64 バイト: icmp_seq=3 ttl=52 時間 =25.2 ミリ秒 [4] => — 115.29.237.28 ping 統計 — [6] => ; 3 パケット送信、3 パケット受信、0% パケット損失、時間 2002 ミリ秒 [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

Ping 時間を取得して関数にカプセル化します


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

実行結果:


りー

以上がPHPでping時間を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。