使用PHP 對IP 位址執行Ping 操作並回顯結果
在此程式設計問題中,使用者尋求協助以建立PHP 函數來ping IP 位址並顯示它是否處於活動狀態。他們已經實現了一個函數,但無論提供的 IP 位址如何,它始終會傳回「dead」。
初始函數:
function pingAddress($ip){ $pingresult = shell_exec("start /b ping $ip -n 1"); $dead = "Request timed out."; $deadoralive = strpos($dead, $pingresult); if ($deadoralive == false){ echo "The IP address, $ip, is dead"; } else { echo "The IP address, $ip, is alive"; } }
說明:
該函數嘗試使用shell_exec 函數來嘗試使用 IP 位址,並使用 IP 位址-n 1 選項僅發送一個ping 請求。然後,它檢查 ping 命令的輸出中是否有字串「請求逾時」。確定 IP 位址是否有效。
問題:
建議的解決方案:
使用者的問題也建議了替代方案:
function pingAddress($ip) { $pingresult = exec("/bin/ping -n 3 $ip", $outcome, $status); if (0 == $status) { $status = "alive"; } else { $status = "dead"; } echo "The IP address, $ip, is ".$status; }
說明:
此函數:
以上是為什麼無論 IP 位址如何,我的 PHP ping 函數總是回傳「死」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!