首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 實作 Ping 功能範例

     編輯:PHP 相關知識

代碼實現

以下腳本每 3 秒自動 Ping 指定主機 3 次,並即時輸出結果:

<?php
$to_ping = "dtheatre.com";
$count = 3;
$psize = 65;

echo "<font color=\"red\"><blink><b>Pinging</b></blink></font><br>";
echo " Please be patient, this can take a few moments... <br>";
flush();

while (1) {
    exec("ping -c $count -s $psize $to_ping", $list);
    for ($i = 0; $i < count($list); $i++) {
        print $list[$i] . " <br>";
    }
    flush();
    sleep(3);
}
?>

關鍵點解析

  • exec() 收集 ping 命令輸出到陣列 $list,逐行輸出。
  • flush() 強制將緩衝區內容發送給瀏覽器,實現「流式」即時顯示效果。
  • sleep(3) 控制輪詢間隔,避免過度佔用資源。
  • 死循環 while(1) 需謹慎使用,生產環境建議加入中斷條件或改用 AJAX 輪詢。

適用場景與改進建議

此範例適合簡單的網路狀態監控演示。實際部署時應考慮:

  1. 加入超時與錯誤處理機制。
  2. 改為前端 JavaScript 定時請求後端 API,避免長連接佔用服務器進程。
  3. 對輸入參數($to_ping)進行嚴格驗證與轉義,防止命令注入。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved