>  기사  >  백엔드 개발  >  PHP에서 핑 시간을 얻는 방법

PHP에서 핑 시간을 얻는 방법

黄舟
黄舟원래의
2017-09-30 09:10:151759검색

이 글은 주로 PHP에서 ping 시간을 얻는 방법에 대한 관련 정보를 소개합니다. 이 글이 모든 사람이 이러한 기능을 달성하는 데 도움이 되기를 바랍니다. 도움이 필요한 친구들은 이를 참고할 수 있습니다.

PHP는 exec 함수를 통해 쉘 명령을 실행할 수 있습니다. 핑 시간을 얻으십시오.

코드 예:


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

저는 linux입니다

linux 정보:

Array ( [0] => PING 115.29.237.28 ( 115.29.237.28) 56 (84) 바이트의 데이터 [1] => 115.29.237.28의 64바이트: icmp_seq=1 ttl=52 time=26.1 ms [2] => 115.29.237.28의 64바이트: icmp_seq=2 ttl=52 시간 =27.5ms [3] => 115.29.237.28의 64바이트: icmp_seq=3 ttl=52 time=25.2ms [4] => [5] => — 115.29.237.28 ping 통계 — [6] => ; 3개 패킷 전송, 3개 수신, 0% 패킷 손실, 시간 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

핑 시간을 구해 함수로 캡슐화합니다


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

실행 결과:


rreee

위 내용은 PHP에서 핑 시간을 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.