Neue DNS-Auflösungsfunktion in PHP8.1
Mit der rasanten Entwicklung des Internets ist die DNS-Auflösung (Domain Name System) zu einem der häufigsten Vorgänge in der Webentwicklung geworden. In der PHP8.1-Version wird eine neue Reihe von DNS-Auflösungsfunktionen eingeführt, die es Entwicklern ermöglichen, DNS-Auflösungsvorgänge bequemer durchzuführen. In diesem Artikel werden die neuen DNS-Auflösungsfunktionen in PHP8.1 vorgestellt und einige Codebeispiele angehängt, um den Lesern zu helfen, diese Funktionen besser zu verstehen und zu verwenden. Die Funktion
dns_ai_getaddrinfo() wird verwendet, um IP-Adressinformationen basierend auf dem Domänennamen zu erhalten. Es wird wie folgt verwendet:
<?php $hostname = "www.example.com"; $options = [ 'dns' => '8.8.8.8', 'context' => null, 'timeout' => 3, 'hints' => 0 ]; $result = dns_ai_getaddrinfo($hostname, $options); if ($result !== false) { foreach ($result as $r) { echo $r['host'], ": ", $r['type'], " - ", $r['addr'], " "; } } else { echo "Failed to resolve IP address for $hostname "; } ?>
Im obigen Code übergeben wir den aufzulösenden Domänennamen und eine Reihe von Optionen, einschließlich der DNS-Serveradresse, des Kontexts, des Zeitlimits und zusätzlicher Auflösungsaufforderungen. Wenn die Analyse erfolgreich ist, gibt die Funktion ein Array zurück, das mehrere IP-Adressinformationen enthält. Andernfalls wird „false“ zurückgegeben. Die Funktion
dns_ai_gethostbyaddr() wird verwendet, um den Hostnamen basierend auf der IP-Adresse abzurufen. Es wird wie folgt verwendet:
<?php $ip = "192.0.2.1"; $options = [ 'dns' => '8.8.8.8', 'context' => null, 'timeout' => 3, 'hints' => 0 ]; $result = dns_ai_gethostbyaddr($ip, $options); if ($result !== false) { echo "Hostname for $ip: $result "; } else { echo "Failed to resolve hostname for $ip "; } ?>
Im obigen Code übergeben wir die aufzulösende IP-Adresse und eine Reihe von Optionen, einschließlich der DNS-Serveradresse, des Kontexts, des Zeitlimits und zusätzlicher Auflösungsaufforderungen. Wenn die Analyse erfolgreich ist, gibt die Funktion eine Zeichenfolge zurück, bei der es sich um den Hostnamen handelt. Andernfalls wird „false“ zurückgegeben. Die Funktion dns_ai_getaddrbyaddr()
<?php $hostname = "www.example.com"; $options = [ 'dns' => '8.8.8.8', 'context' => null, 'timeout' => 3, 'hints' => 0 ]; $result = dns_ai_getaddrbyaddr($hostname, $options); if ($result !== false) { echo "IP address for $hostname: $result "; } else { echo "Failed to resolve IP address for $hostname "; } ?>
Das obige ist der detaillierte Inhalt vonNeue DNS-Auflösungsfunktion in PHP8.1. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!