PHP 获取 ping 时间的实现方法

发布时间 - 2026-01-11 03:28:22    点击率:

PHP 可以通过exec函数执行shell命令,来获取ping时间。

代码示例:

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

运行结果:

PHP_INT_MAX : 9223372036854775807

I am linux

linux info :

Array ( [0] => PING 115.29.237.28 (115.29.237.28) 56(84) bytes of data. [1] => 64 bytes from 115.29.237.28: icmp_seq=1 ttl=52 time=26.1 ms [2] => 64 bytes from 115.29.237.28: icmp_seq=2 ttl=52 time=27.5 ms [3] => 64 bytes from 115.29.237.28: icmp_seq=3 ttl=52 time=25.2 ms [4] => [5] => — 115.29.237.28 ping statistics — [6] => 3 packets transmitted, 3 received, 0% packet loss, time 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

 获取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['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');

运行结果:

Array ( [ping_min] => 0.025497 [ping_avg] => 0.025947 [ping_max] => 0.026753 )

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望通过本文能帮助到大家,谢谢大家对本站的支持!


# php  # ping时间的获取  # 获取ping时间的实现代码  # PHP实现获取毫秒时间戳的方法【使用microtime()函数】  # PHP获取当前系统时间的方法小结  # PHP获取MySQL执行sql语句的查询时间方法  # PHP编程获取各个时间段具体时间的方法  # php获取今日开始时间和结束时间的方法  # php获取当前月与上个月月初及月末时间戳的方法  # PHP中获取文件创建日期、修改日期、访问时间的方法  # PHP实现根据时间戳获取周几的方法  # PHP获取当前时间不准确问题解决方案  # 如有  # 可以通过  # 谢谢大家  # 疑问请  # explode  # ping_time_min  # ping_time_avg  # ping_time  # info  # linux  # ping_time_line  # print_r  # ping_time_max  # data  # bytes  # PING  # info_time  # windows  # Array  # class 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  如何实现建站之星域名转发设置?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  在centOS 7安装mysql 5.7的详细教程  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  企业网站制作这些问题要关注  如何用景安虚拟主机手机版绑定域名建站?  利用 Google AI 进行 YouTube 视频 SEO 描述优化  Laravel如何升级到最新版本?(升级指南和步骤)  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  详解Oracle修改字段类型方法总结  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  如何有效防御Web建站篡改攻击?  如何用已有域名快速搭建网站?  如何快速启动建站代理加盟业务?  phpredis提高消息队列的实时性方法(推荐)  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  Laravel如何使用Blade组件和插槽?(Component代码示例)  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  如何快速搭建高效香港服务器网站?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  如何用PHP快速搭建高效网站?分步指南  佛山网站制作系统,佛山企业变更地址网上办理步骤?  如何用PHP工具快速搭建高效网站?  Laravel如何处理文件下载请求?(Response示例)  如何打造高效商业网站?建站目的决定转化率  Laravel怎么在Blade中安全地输出原始HTML内容  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  如何将凡科建站内容保存为本地文件?  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  Android okhttputils现在进度显示实例代码  公司网站制作需要多少钱,找人做公司网站需要多少钱?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  南京网站制作费用,南京远驱官方网站?  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  高端云建站费用究竟需要多少预算?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  如何快速搭建个人网站并优化SEO?  微信小程序 HTTPS报错整理常见问题及解决方案  如何快速搭建高效服务器建站系统?