Приглашаем посетить
Островский (ostrovskiy.lit-info.ru)

Учебник по PHP : Сетевые функции

Сетевые функции

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может принимать значения:
  • A
  • MX (по умолчанию)
  • NS
  • SOA
  • PTR
  • CNAME
  • ANY

    Аргумент host может указываться строкой в формате IP с разделением точками, либо быть именем хоста.

  • getmxrr
    Производит получение MX записи для интернет-хоста.

    Синтаксис :
    int getmxrr(string hostname, array mxhosts [, array weight]);

    Функция getmxrr() инициирует поиск в базе данных DNS записи MX (почтовый сервер домена) для хоста hostname.
    Если запись найдена, возвращает true, если нет - то false.

    Список записей MX заносится в массив mxhosts. Если указан массив weight, он заполняется дополнительной информацией о записях.

    Назад Содержание Вперед