Сетевые функции
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, он заполняется дополнительной информацией о записях.