Pinger une adresse IP en PHP : affichage du statut actif ou mort
Pour résoudre le problème avec la fonction pingAddress fournie, plusieurs ajustements sont nécessaires :
Utilisez des guillemets doubles : La variable $ip dans l'affectation pingresult doit être placé entre guillemets doubles pour interpréter correctement l'adresse IP :
$pingresult = shell_exec("start /b ping \"$ip\" -n 1");
Vérifier l'état de sortie : Vous pouvez vérifier l'état de sortie du Commande ping pour déterminer si l’adresse IP est active ou morte. Le code suivant offre une approche plus portable :
function pingAddress($ip) { $pingResult = exec("/bin/ping -c 3 $ip", $output, $exitStatus); if ($exitStatus === 0) { $status = "alive"; } else { $status = "dead"; } echo "The IP address, $ip, is $status"; }
Dans cette fonction améliorée :
C'est il convient de noter que ce code peut ne pas fonctionner sur les systèmes Windows. Sous Linux, remplacez /bin/ping par le chemin correct vers l'exécutable ping.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!