abrikos
Guest
Дополнение к статье "Как преобразовать IP в число integer и обратно?"
Оригинал: http://php.spb.ru/php/ip.html
В РНР4 есть штатные функции long2ip() и ip2long().
Я немного подредактировал описаные в статье функции для их соответсвия штатным (Зачем? Мне потребовалось написать такую функцию для MSSQL)
может кому пригодится:
Оригинал: http://php.spb.ru/php/ip.html
В РНР4 есть штатные функции long2ip() и ip2long().
Я немного подредактировал описаные в статье функции для их соответсвия штатным (Зачем? Мне потребовалось написать такую функцию для MSSQL)
может кому пригодится:
PHP:
function int2ip($i) {
if ($i<0) {$i=4294967296+$i);
$d[0]=(int)($i/256/256/256);
$d[1]=(int)(($i-$d[0]*256*256*256)/256/256);
$d[2]=(int)(($i-$d[0]*256*256*256-$d[1]*256*256)/256);
$d[3]=$i-$d[0]*256*256*256-$d[1]*256*256-$d[2]*256;
return "$d[0].$d[1].$d[2].$d[3]";
}
function ip2int($ip) {
$a=explode(".",$ip);
$tmp= $a[0]*256*256*256+$a[1]*256*256+$a[2]*256+$a[3];
if ($tmp>4294967295/2) {
$tmp =$tmp - 4294967296;
}
return $tmp;
}