Tôi có chức năng sau đây mà tôi không làm việc cho đến nay. Tôi muốn ping một địa chỉ IP và sau đó để echo liệu IP có còn sống hay không.Ping một địa chỉ IP bằng cách sử dụng PHP và lặp lại kết quả
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";
}
}
Khi tôi gọi hàm này sử dụng ví dụ:
pingAddress("127.0.0.1")
Kết quả vang luôn là 'chết' - không có vấn đề gì.
Có thể ai đó vui lòng giúp tôi khi tôi gặp sự cố không? Và/HOẶC có cách nào tốt hơn để thực hiện việc này với cùng một kết quả không?
Rất cám ơn.
Cập nhật: Có mã sửa đổi để bao gồm dấu ngoặc kép nhưng vẫn nhận được kết quả tương tự (không chính xác).
Bạn cần phải sử dụng dấu ngoặc kép cho cuộc gọi của bạn cho 'shell_exec' khác' $ ip' sẽ không được thay thế. – Clive
Xin chào Clive, cảm ơn - tôi đã sử dụng dấu ngoặc kép ngay bây giờ nhưng vẫn nhận được kết quả tương tự. – Bernard