Конвертация IP адреса

 

Конвертирует строку, содержащую IPv4 Интернет адрес с точками в допустимый адрес
Введите IP адрес:

Неверный IP, попробуйте еще раз

Конвертирует (IPv4) адрес Интернет сети в стандартную строку с точками

Введите адрес:

 

В большинстве случаев для хранения IP адреса выбирается поле типа VARCHAR(15), хотя на самом деле правильней хранить его в целочисленном виде. INT занимает 4 байта и имеет фиксированный размер поля. Формат IP-адреса достаточно удобен для человека: четыре цифры, разделенные точками. Однако такой формат очень не удобен при программировании, поэтому IP-адреса преобразуют в обычное число для удобства.

Рассмотрим какие инструменты для этого применяются.
 
PHP
Функция php ip2long – переводит ip-адрес в число, а php-функция long2ip выполняет обратное преобразование из числа в ip-адрес.
Ip-адрес, преобразованный первой функцией, можно записать в базу данных в числовое поле, что гораздо удобнее и эффективнее по сравнению с символьным типом.
ip2long('2.60.255.255'); //возвратит 37552127.
long2ip( '37552127' ); //возвратит 2.60.255.255.
 
MySQL
В языке MySQL есть аналог php-функции ip2long, позвозяющий переобразовать ip-адрес в число, это функция MySQL INET_ATON, а обратное преобразование числа в ip-адрес осуществляется с помощью mysql-функции INET_NTOA.
SELECT INET_ATON( '2.60.255.255' ) - возвратит 37552127.
SELECT INET_NTOA( '37552127' )  -возвратит 2.60.255.255.