2012-11-08 6 views
11

Mögliche Duplizieren:
Pinging an IP address using PHP and echoing the resultwie IP-Adressen in php ping und geben Ergebnisse

Wie Sie eine IP-Adressen in PHP-ping. und gibt die Ergebnisse als ob Sie auf cmd Programm sind in den Fenstern

<?php 

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

    echo “pinged”;<br> 

?> 
+0

Sie Antwort von diesem überprüfen Sie bitte bekommen http://stackoverflow.com/questions/8030789/pinging-an-ip-address-using-php-and-echoing-the-result – Elby

Antwort

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

Ausgabe sieht aus wie unten

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

Ich habe das leere Array so, Array() können Sie mir helfen? –

+1

Wenn Sie das leere Array 'Array()' haben, versuchen Sie '-c 3' anstelle von' -n 3' zu verwenden. Sie könnten Linux-Server anstelle von Windows ausführen. Linux-Ping erkennt die Option "-n" nicht. – Palo

+0

bedeutet 3, dass der Befehl dreimal ausgeführt wird? –

11

Versuchen Sie, diesen

$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!"; 

Hinweis: Dies ist abhängig von dem O Sie ausführen. Windows wird standardmäßig auf nur 4 Pings eingestellt, während Linux für immer pingt.

Um zweimal in Windows ping, verwenden Sie "ping -n 2-Host"

Um zweimal in Linux ping, verwenden Sie "ping -c 2 host"

1

ich mit nur pinged Google, dass exec

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

Ausgang war:

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