Heim >Backend-Entwicklung >PHP-Tutorial >So erhalten Sie die IP-Adresscode-Funktion für Domainnamen in PHP

So erhalten Sie die IP-Adresscode-Funktion für Domainnamen in PHP

高洛峰
高洛峰Original
2016-11-29 16:02:451476Durchsuche

Sehen Sie sich zuerst den folgenden Code an, die beiden Ausgabeergebnisse sind gleich:

$dm = 'www.phpfensi.com'

$ip = gethostbyname($dm);

echo gethostbyaddr($ip);

echo $ip;

Über gethostbyname-Syntax:

string gethostbyname ( string $hostname )

Gibt die IPv4-Adresse des durch den Hostnamen angegebenen Internet-Hosts zurück

Hier ist ein Beispiel, das den besten Ansatz darstellt, den ich mir zur Lösung der Konvertierung eines beliebigen Hostnamens in eine IP-Adresse ausgedacht habe, es ist schnell, zuverlässig und hat Timeout-Unterstützung, eine ungültige Adresse, z. B. eine Unicode-Zeichenfolge, wird beim Aufruf von gethostbyname nach 4 Sekunden zurückgegeben. Der Code lautet jedoch wie folgt:

function getaddrbyhost($host, $ timeout = 3) {

$query = `nslookup -timeout=$timeout -retry=1 $host`;

if (preg_match('/ address: (.*) /', $query, $matches))

return trim($matches[1]);

return $host

}

gethostbyaddr ist zu bekommen der Internet-Hostname, der einer bestimmten IP-Adresse entspricht:

string gethostbyaddr (string $ip_address)

$hostname = gethostbyaddr( $_server['remote_addr']);

echo $hostname;

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