MENU

php怎么实现ping IP

May 30, 2022 • 已被 302 位童鞋围观过 • 代码分享

php实现ping功能的方法:1、在php.ini中开通exec函数;2、创建一个PHP示例文件;3、通过“function ping_time($ip) {...}”方法实现ping功能即可。

php怎么实现ping?php实现ping功能
代码如下:

<?php

function ping_time($ip) {

  $ping_cmd = "ping -c 1 -w 5 " . $ip;

  exec($ping_cmd, $info);

  if($info == null)

  {

    return json_encode(['code'=>404,'msg'=>"Ping请求找不到主机".$ip.";请检查该名称,然后重试"]);die;

  }

  //判断是否丢包

  $str1 = $info['4'];

  $str2 = "1 packets transmitted, 1 received, 0% packet loss";

  if( strpos( $str1 , $str2 ) === false)

  {

     return json_encode(['code'=>403,'msg'=>"当前网络堵塞,请求无法成功,请稍后重试"]);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['domain_ip'] = $info['0'];

  $result['ping_min'] = $ping_time_min;

  $result['ping_avg'] = $ping_time_avg;

  $result['ping_max'] = $ping_time_max;



  return json_encode(['code'=>200,'msg'=>"请求成功",'data'=>$result]);

}



$ip = $_POST['ip'];  

print_r(ping_time($ip));
Last Modified: September 28, 2023