Tengo la siguiente función que hasta ahora no funciona. Me gustaría hacer ping a una dirección IP y luego repetir si la IP está activa o no.Hacer ping a una dirección IP usando PHP y hacer eco del resultado
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";
}
}
Cuando llamo a esta función utilizando el ejemplo:
pingAddress("127.0.0.1")
El resultado es siempre el eco 'muerto' - no importa qué.
¿Podría alguien ayudarme por favor, donde me estoy equivocando? ¿Existe algún método mejor para hacer esto con el mismo resultado?
Muchas gracias.
Actualización: Ha modificado el código para incluir las comillas dobles pero sigue obteniendo los mismos resultados (incorrectos).
Es necesario utilizar comillas dobles para su llamada a '' shell_exec' lo contrario $ ip' no serán reemplazados. – Clive
Hola, Clive, gracias. He usado comillas dobles ahora pero sigo obteniendo los mismos resultados. – Bernard