string gethostbyaddr(string $ip_address)
Функция возвращает доменное имя хоста, заданного своим IP-адресом.
В случае ошибки возвращается $ip_address.
Функция не гарантирует, что полученное имя будет на самом деле соответствовать действительности. Она лишь опрашивает хост по адресу $ip_address
и просит его сообщить свое имя. Владелец хоста, таким образом, может передать все, что ему заблагорассудится. Как обойти эту проблему, см. чуть ниже.
string gethostbyname(string $hostname)
Функция получает в параметрах доменное имя хоста и возвращает его IP-адрес. Если адрес определить не удалось, возвращает $hostname.
array gethostbynamel(string $hostname)
Эта функция очень похожа на предыдущую, но возвращает не один, а все IP-адреса хоста с именем $hostname. Как мы знаем, одному доменному имени может соответствовать сразу несколько IP-адресов, и в случае сильной загруженности серверов DNS-сервер сам выбирает, по какому IP-адресу перенаправить запрос. Он выбирает тот адрес, который использовался наиболее редко.
Обратите внимание на то, что в Интернете существует множество виртуальных хостов, которые имеют различные доменные имена, но один и тот же IP-адрес. Таким образом, если следующая последовательность команд для существующего хоста с IP-адресом $ip всегда печатает этот же адрес:
$host=gethostbyaddr($ip);
echo gethostbyname($host);
то аналогичная последовательность для домена с DNS-именем $host,
наоборот, может напечатать не то же имя, а другое:
$ip=gethostbyname($host);
echo gethostbyaddr($ip);