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

Barbara Streisand
Libérer: 2024-11-10 10:21:02
original
866 Les gens l'ont consulté

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");
    Copier après la connexion
  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";
    }
    Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal