IPv4 перевести в integer (число) и обратно

метод для перевода IP в число:

function ip2int($ip)
{
    $a = explode('.', $ip);
    return ($a[0] * 256 * 256 * 256) + ($a[1] * 256 * 256) + ($a[2] * 256) + $a[3];
}

метод для перевода числа в IP:

int2ip($i)
{
    $d0 = (int)($i / 256 / 256 / 256);
    $d1 = (int)(($i - ($d0 * 256 * 256 * 256)) / 256 / 256);
    $d2 = (int)(($i - ($d0 * 256 * 256 * 256) - ($d1 * 256 * 256)) / 256);
    $d3 = $i - ($d0 * 256 * 256 * 256) - ($d1 * 256 * 256) - ($d2 * 256);
    return "{$d0}.{$d1}.{$d2}.{$d3}";
}

пример перевода IP в число штатным методом PHP:

<?php
$ip = gethostbyname('disweb.ru');
$long = ip2long($ip);

if ($long == -1 || $long === false)
    echo "Не верный IP";
else {
    echo "IP: {$ip}\n";
    echo "Long: {$long}\n";
}