2012-11-08 66 views
11

thể trùng lặp:
Pinging an IP address using PHP and echoing the resultlàm thế nào để ping địa chỉ ip trong php và cho kết quả

Làm thế nào để bạn ping một địa chỉ ip trong php. và đưa ra kết quả như thể bạn đang ở trên chương trình cmd trong cửa sổ

<?php 

    system(‘ping -c 192.168.0.104’); // Ping IP address.<br> 

    echo “pinged”;<br> 

?> 
+0

Bạn nhận được câu trả lời từ này xin vui lòng kiểm tra http://stackoverflow.com/questions/8030789/pinging-an-ip-address-using-php-and-echoing-the-result – Elby

Trả lời

17
$ip = "127.0.0.1"; 
exec("ping -n 3 $ip", $output, $status); 
print_r($output); 

đầu ra trông giống như dưới đây

Array 
(
    [0] => 
    [1] => Pinging 127.0.0.1 with 32 bytes of data: 
    [2] => Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 
    [3] => Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 
    [4] => Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 
    [5] => 
    [6] => Ping statistics for 127.0.0.1: 
    [7] =>  Packets: Sent = 3, Received = 3, Lost = 0 (0% loss), 
    [8] => Approximate round trip times in milli-seconds: 
    [9] =>  Minimum = 0ms, Maximum = 0ms, Average = 0ms 
) 
+6

Tôi nhận được mảng trống như thế này, Array() bạn có thể giúp tôi không? –

+1

Nếu bạn có mảng trống 'Array()', hãy thử sử dụng '-c 3' thay vì' -n 3'. Bạn có thể đang chạy máy chủ Linux thay vì cửa sổ. Linux ping không nhận ra tùy chọn '-n'. – Palo

+0

không 3 có nghĩa là lệnh sẽ được thực thi ba lần? –

11

Hãy thử điều này

$host="192.168.0.104"; 

exec("ping -c 4 " . $host, $output, $result); 

print_r($output); 

if ($result == 0) 

echo "Ping successful!"; 

else 

echo "Ping unsuccessful!"; 

Lưu ý: Đây là phụ thuộc vào hệ điều hành bạn đang chạy. Windows sẽ mặc định chỉ 4 ping trong khi Linux sẽ ping mãi mãi.

Để ping hai lần trong Windows, sử dụng "ping -n 2 host"

Để ping hai lần trong Linux, sử dụng "ping -c 2 host"

1

Tôi chỉ ping google với điều đó exec

<?php 
echo exec("ping www.google.com"); 
?> 

đầu ra là:

Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),