function RealIPToHex($ip)
{
$ar = explode('.', $ip);
if (count($ar)<>4) return false;
foreach($ar as $k=>$v)
{
$dh = dechex($ar[$k]);
if (strlen($dh)==1) $sp = '0';
else $sp='';
$ar[$k] = $sp.$dh;
}
return implode('', $ar);
}
function HexToRealIP($hip)
{
for($i=0;$i<4;$i++) $ar[$i] = substr($hip,2*$i,2);
foreach($ar as $k=>$v)
{
$ar[$k] = base_convert($ar[$k],16,10);
}
return implode('.', $ar);
}
То же самое у меня:
private static function IP2Hex($ip)
{
return sprintf('%08s',dechex(ip2long($ip)));
}
private static function Hex2IP($ip)
{
return long2ip(hexdec($ip));
}
Кому непонятно, в данном конкретном примере действует правило: чем проще (менее комплексно), тем лучше.