Сетевые функции
Сетевые функции
ip2long
Производит конвертацию строки адреса IPv4 в число.
Синтаксис:
int ip2long(string ip_address);
Функция ip2long() возвращает четырех байтовое численное представление адреса IP v4 из строки (числа, разделенные точками, например: "127.0.0.1").
// получить IP адрес хоста
$ip=gethostbyname("www.php.net");
echo "Следующие URL эквивалентны:<br>";
echo "http://www.php.net/, http://".$ip.
"/, и http://".ip2long($ip)."/<br>";
long2ip
Производит конвертацию числа в строку адреса IP v4.
Синтаксис:
string long2ip(int proper_address);
Функция long2ip() возвращает строковое представление IP-адреса (в формате: "aaa.bbb.ccc.ddd") из численного представления.
gethostbyaddr
Возвращает имя хоста, который соответствует заданному IP-адресу.
Синтаксис:
string gethostbyaddr(string ip_address);
Функция gethostbyaddr() возвращает доменное имя хоста, заданного своим IP-адресом. В аргументе указывается адрес IP в строковом формате. В случае ошибки возвращает ip_address.
Надо отметить, что функция не гарантирует, что полученное имя на самом деле будет соответствовать действительности. Она лишь опрашивает хост по адресу ip_address и просит его сообщить свое имя. Владелец хоста, таким образом, может передавать все, что ему заблагорассудится.
echo gethostbyaddr("127.0.0.1");
gethostbyname
Возвращает IP-адрес хоста.
Синтаксис:
string gethostbyname(string hostname);
Функция gethostbyname() получает в параметрах доменное имя хоста и возвращает его IP-адрес. Если адрес определить не удалось, функция возвращает hostname.
gethostbynamel
Возвращает список IP-адресов хоста.
Синтаксис:
array gethostbynamel(string hostname);
Одному доменному имени может соответствовать сразу несколько IP-адресов, и в случае сильной загруженности серверов DNS-сервер сам выбирает, по какому IP-адресу перенаправить запрос. Он выбирает тот адрес, который использовался наиболее редко.
Функция gethostbynamel() возвращает не один, а все IP-адреса хоста с именем hostname.
Стоит заметить, что в Интернете существует множество виртуальных хостов, которые имеют различные доменные имена, но один и тот же IP-адресс. Таким образом, если следующая последовательность команд для существующего хоста с IP-адресом ip всегда печатает этот же адрес:
$host = gethostbyaddr($ip);
echo gethostbyname($host);
то аналогичная последовательность для домена с DNS-именем $host, наоборот, может напечатать не то же имя, а другое:
$ip = gethostbyname($host);
echo gethostbyaddr($ip);
getprotobyname
Производит определение номера порта, используемого протоколом.
Синтаксис:
int getprotobyname(string name);
getprotobynumber
Производит определение протокола порта.
Синтаксис:
string getprotobynumber(int number);
getservbyname
Производит определение протокола интернет-службы.
Синтаксис:
int getservbyname(string service, string protocol);
Эта функция возвращает номер порта, который использует служба service.
В аргументе protocol указывается тип протокола - TCP или UDP.
echo getservbyname("HTTP", "TCP"); // может вывести 80
getservbyport
Производит определение интернет-службы, которая использует заданный порт.
Синтаксис:
string getservbyport(int port, string protocol);
Здесь в аргументе protocol нужно указать тип протокола - TCP либо UDP.
echo getservbyport(21, "TCP"); // выведет: ftp
echo getservbyport(23, "TCP"); // выведет: telnet
checkdnsrr
Производит проверку записи DNS.
Синтаксис:
int checkdnsrr(string host [, string type]);
Эта функция отправляет запрос DNS-серверу для поиска записей, которые имеются для хоста host. Если были найдены записи типа type, то функция возвращает true. В противном случае и при ошибке - false.
Аргумент typeможет принимать значения:
Аргумент host может указываться строкой в формате IP с разделением точками, либо быть именем хоста.
getmxrr
Производит получение MX записи для интернет-хоста.
Синтаксис:
int getmxrr(string hostname, array mxhosts [, array weight]);
Функция getmxrr() инициирует поиск в базе данных DNS записи MX (почтовый сервер домена) для хоста hostname.
Если запись найдена, возвращает true, если нет - то false.
Список записей MX заносится в массив mxhosts. Если указан массив weight, он заполняется дополнительной информацией о записях.