PHP 獲取 ping 時間的實現(xiàn)方法
PHP 可以通過exec函數(shù)執(zhí)行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>"; }
運行結(jié)果:
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時間封裝成函數(shù)
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');
運行結(jié)果:
Array ( [ping_min] => 0.025497 [ping_avg] => 0.025947 [ping_max] => 0.026753 )
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望通過本文能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
ThinkPHP使用getlist方法實現(xiàn)數(shù)據(jù)搜索功能示例
這篇文章主要介紹了ThinkPHP使用getlist方法實現(xiàn)數(shù)據(jù)搜索功能,結(jié)合實例形式較為詳細的分析了thinkPHP基于getlist實現(xiàn)根據(jù)給定條件進行數(shù)據(jù)的讀取、顯示等相關(guān)操作技巧,需要的朋友可以參考下2017-05-05PHP設(shè)計模式(八)裝飾器模式Decorator實例詳解【結(jié)構(gòu)型】
這篇文章主要介紹了PHP設(shè)計模式:裝飾器模式Decorator,結(jié)合實例形式分析了PHP裝飾器模式Decorator相關(guān)概念、功能、原理、用法及操作注意事項,需要的朋友可以參考下2020-05-05CakePHP框架Model關(guān)聯(lián)對象用法分析
這篇文章主要介紹了CakePHP框架Model關(guān)聯(lián)對象用法,結(jié)合實例形式分析了cakePHP框架Model關(guān)聯(lián)對象的功能、定義及具體使用方法,需要的朋友可以參考下2017-08-08thinkPHP5框架設(shè)置404、403等http狀態(tài)頁面的方法
這篇文章主要介紹了thinkPHP5框架設(shè)置404、403等http狀態(tài)頁面的方法,結(jié)合實例形式分析了thinkPHP5框架設(shè)置404頁面的相關(guān)配置、視圖顯示頁面及控制器調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2018-06-06Yii結(jié)合CKEditor實現(xiàn)圖片上傳功能
這篇文章主要介紹了Yii結(jié)合CKEditor實現(xiàn)圖片上傳功能,Yii是大名鼎鼎的PHP開發(fā)框架,CKEditor則是大名鼎鼎的所見即所得編輯器,需要的朋友可以參考下2014-06-06