Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann man mit PHP feststellen, ob eine IP-Adresse aktiv oder tot ist?

Wie kann man mit PHP feststellen, ob eine IP-Adresse aktiv oder tot ist?

Barbara Streisand
Barbara StreisandOriginal
2024-11-10 10:21:02949Durchsuche

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

Anpingen einer IP-Adresse in PHP: Live- oder Dead-Status anzeigen

Um das Problem mit der bereitgestellten pingAddress-Funktion zu beheben, sind mehrere Anpassungen erforderlich :

  1. Verwenden Sie doppelte Anführungszeichen: Die Variable $ip innerhalb der Pingresult-Zuweisung sollte in doppelte Anführungszeichen gesetzt werden, um die IP-Adresse korrekt zu interpretieren:

    $pingresult = shell_exec("start /b ping \"$ip\" -n 1");
  2. Exit-Status prüfen: Sie können den Exit-Status überprüfen des Ping-Befehls, um festzustellen, ob die IP aktiv oder tot ist. Der folgende Code bietet einen portableren Ansatz:

    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";
    }

In dieser verbesserten Funktion:

  • /bin/ping -c 3 $ip führt den Ping aus Befehl mit 3 Versuchen.
  • exec() erfasst den Ausgabe- und Exit-Status in $output und $exitStatus.
  • Der Exit-Status wird überprüft ($exitStatus === 0 für lebendig, andernfalls tot).
  • Das Ergebnis wird entsprechend wiedergegeben.

Das ist es Beachten Sie, dass dieser Code möglicherweise nicht auf Windows-Systemen funktioniert. Ersetzen Sie unter Linux /bin/ping durch den korrekten Pfad zur ausführbaren Ping-Datei.

Das obige ist der detaillierte Inhalt vonWie kann man mit PHP feststellen, ob eine IP-Adresse aktiv oder tot ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn