ci tengo a precisare che è un metodo molto rudimentale, probabilmente trovi delle classi già fatte su phpclasses.
Comunque funge:
codice:
<?php
exec("ping -c 1 192.168.1.3 ",$result);
echo "<pre>";
print_r($result);
echo "</pre>";
foreach($result as $key => $linea) {
if(strpos($linea,"statistics")) {
if(strpos($result[$key+1],"0 received")) {
echo "non risponde al ping";
} else {
echo "risponde al ping";
}
}
}
echo "
";
echo "
";
echo "
";
$result=array();
exec("ping -c 1 10.0.0.1",$result);
echo "<pre>";
print_r($result);
echo "</pre>";
foreach($result as $key => $linea) {
if(strpos($linea,"statistics")) {
if(strpos($result[$key+1],"0 received")) {
echo "non risponde al ping";
} else {
echo "risponde al ping";
}
}
}
?>
Sono 2 blocchi perchè ho provato un ip che risponde e uno no:
Il risultato è il seguente:
codice:
Array
(
[0] => PING 192.168.1.3 (192.168.1.3) 56(84) bytes of data.
[1] => 64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.040 ms
[2] =>
[3] => --- 192.168.1.3 ping statistics ---
[4] => 1 packets transmitted, 1 received, 0% packet loss, time 0ms
[5] => rtt min/avg/max/mdev = 0.040/0.040/0.040/0.000 ms
)
risponde al ping
Array
(
[0] => PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
[1] =>
[2] => --- 10.0.0.1 ping statistics ---
[3] => 1 packets transmitted, 0 received, 100% packet loss, time 0ms
[4] =>
)
non risponde al ping
ciao