Heim > Backend-Entwicklung > PHP-Problem > So implementieren Sie Ping in PHP

So implementieren Sie Ping in PHP

藏色散人
Freigeben: 2023-03-13 10:18:02
Original
4845 Leute haben es durchsucht

So implementieren Sie die Ping-Funktion in PHP: 1. Aktivieren Sie die Exec-Funktion in php.ini. 2. Erstellen Sie eine PHP-Beispieldatei. 3. Implementieren Sie die Ping-Funktion über die Funktion „ping_time($ip) {...}“. "Methode.

So implementieren Sie Ping in PHP

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Wie erreicht man Ping mit PHP?

php implementiert die Ping-Funktion

Der Code lautet wie folgt:

<?php
function ping_time($ip) {
  $ping_cmd = "ping -c 1 -w 5 " . $ip;
  exec($ping_cmd, $info);
  if($info == null)
  {
    return json_encode([&#39;code&#39;=>404,&#39;msg&#39;=>"Ping请求找不到主机".$ip.";请检查该名称,然后重试"]);die;
  }
  //判断是否丢包
  $str1 = $info[&#39;4&#39;];
  $str2 = "1 packets transmitted, 1 received, 0% packet loss";
  if( strpos( $str1 , $str2 ) === false)
  {
     return json_encode([&#39;code&#39;=>403,&#39;msg&#39;=>"当前网络堵塞,请求无法成功,请稍后重试"]);die;
  }
  $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;domain_ip&#39;] = $info[&#39;0&#39;];
  $result[&#39;ping_min&#39;] = $ping_time_min;
  $result[&#39;ping_avg&#39;] = $ping_time_avg;
  $result[&#39;ping_max&#39;] = $ping_time_max;
    
  return json_encode([&#39;code&#39;=>200,&#39;msg&#39;=>"请求成功",&#39;data&#39;=>$result]);
}
  
$ip = $_POST[&#39;ip&#39;];  
print_r(ping_time($ip));
Nach dem Login kopieren

Achten Sie darauf, die Exec-Funktion in php.ini zu aktivieren.

Empfohlenes Lernen: „PHP-Video-Tutorial


Das obige ist der detaillierte Inhalt vonSo implementieren Sie Ping in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage