Ho la seguente funzione che non funziona fino ad ora. Vorrei eseguire il ping di un indirizzo IP e quindi fare eco se l'IP è vivo o no.Pingare un indirizzo IP usando PHP e riecheggiando il risultato
function pingAddress($ip){
$pingresult = shell_exec("start /b ping $ip -n 1");
$dead = "Request timed out.";
$deadoralive = strpos($dead, $pingresult);
if ($deadoralive == false){
echo "The IP address, $ip, is dead";
} else {
echo "The IP address, $ip, is alive";
}
}
Quando chiamo questa funzione utilizzando l'esempio:
pingAddress("127.0.0.1")
Il risultato eco è sempre 'morto' - non importa quale.
Qualcuno potrebbe aiutarmi dove sto andando male? E/O c'è un metodo migliore per farlo con lo stesso risultato?
Molte grazie.
Aggiornamento: è stato modificato il codice per includere le virgolette doppie ma ottenendo sempre gli stessi risultati (errati).
È necessario usare le virgolette per la vostra chiamata a '' altrimenti shell_exec' $ ip' non saranno sostituiti. – Clive
Ciao Clive, grazie - ho usato le doppie virgolette ora ma ottenendo sempre gli stessi risultati. – Bernard