Pinger une adresse IP avec PHP et afficher le résultat
En PHP, il existe plusieurs approches pour pinger une adresse IP et déterminer son statut . Une méthode consiste à utiliser la fonction shell_exec() pour exécuter des commandes système.
La fonction pingAddress() dans l'extrait de code fourni vise à envoyer une requête ping à une adresse IP et à indiquer si elle est en ligne ou hors ligne. Cependant, le code renvoie actuellement un résultat incorrect « mort », quel que soit le statut IP réel.
Problèmes potentiels :
Approche alternative :
Voici une version améliorée du code qui corrige les problèmes mentionnés ci-dessus et fournit une solution plus portable :
function pingAddress($ip) { // Ensure IP address is double-quoted $command = "/bin/ping -n 3 \"$ip\""; // Execute the ping command exec($command, $output, $exit_status); // Check exit status if ($exit_status === 0) { $status = "alive"; } else { $status = "dead"; } // Echo the result echo "The IP address, $ip, is $status."; } pingAddress("127.0.0.1");
Ce code amélioré résout le problème des guillemets doubles et utilise l'état de sortie pour un affichage précis des résultats. Cela élimine également toute dépendance potentielle à la commande de démarrage de Windows.
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!