Maison  >  Article  >  développement back-end  >  Comment déterminer si une adresse IP est vivante ou morte en utilisant PHP ?

Comment déterminer si une adresse IP est vivante ou morte en utilisant PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-10 10:21:02871parcourir

How to Determine if an IP Address is Alive or Dead Using PHP?

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 :

  1. 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");
  2. 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 :

  • /bin/ping -c 3 $ip exécute le ping commande avec 3 tentatives.
  • exec() capture l'état de sortie et de sortie dans $output et $exitStatus.
  • Le statut de sortie est vérifié ($exitStatus === 0 pour vivant, sinon mort).
  • Le résultat est repris de manière approprié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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn