17

重複の可能性:
PHP を使用して IP アドレスに ping を実行し、結果をエコーする

PHPでIPアドレスをどのようにpingしますか. Windowsでcmdプログラムを使用しているかのように結果を提供します

<?php

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

   echo “pinged”;<br>

?>
4

3 に答える 3

21

これを試して

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

注: これは、実行している OS によって異なります。Windows はデフォルトで 4 回の ping のみに設定されますが、Linux は永続的に ping を実行します。

Windows で ping を 2 回実行するには、「ping -n 2 host」を使用します。

Linux で ping を 2 回実行するには、「ping -c 2 host」を使用します。

于 2012-11-08T06:29:44.193 に答える
20
$ip =   "127.0.0.1";
exec("ping -n 3 $ip", $output, $status);
print_r($output);

出力は以下のようになります

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
)
于 2012-11-08T06:32:03.917 に答える
2

そのexecでGoogleにpingしたところです

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

出力は次のとおりです。

Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
于 2012-11-08T06:31:55.947 に答える