ci tengo a precisare che è un metodo molto rudimentale, probabilmente trovi delle classi già fatte su phpclasses.
Comunque funge:
Sono 2 blocchi perchè ho provato un ip che risponde e uno no: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"; } } } ?>
Il risultato è il seguente:
ciaocodice: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![]()

Rispondi quotando