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;