Could be my not understanding of something, but I think there is a bug in
using ip2long() and sprintf(%u) as indicated on this page:
http://us4.php.net/manual/en/function.ip2long.php
Look at the example below:
//this conversion seems broken
// $startIP_long = sprintf("%u",ip2long($QRange1));
// $endIP_long = sprintf("%u",ip2long($QRange2));
$startIP_long = ip2long($QRange1);
$endIP_long = ip2long($QRange2);
echo "QRange1 = ".$QRange1." and QRange2 = ".$QRange2."<BR>";
echo "startIP_long = ".$startIP_long." and endIP_long =
".$endIP_long."<BR>";
echo "startIP_long = ".long2ip($startIP_long)." and endIP_long =
".long2ip($endIP_long)."<BR>";
The first //commented block will give:
QRange1 = 192.169.12.40 and QRange2 = 192.169.20.40
startIP_long = 3232304168 and endIP_long = 3232306216
startIP_long = 127.255.255.255 and endIP_long = 127.255.255.255
(wtf did the "127.255.255.255" come from?!)
While the second works properly...
QRange1 = 192.169.12.40 and QRange2 = 192.169.20.40
startIP_long = -1062663128 and endIP_long = -1062661080
startIP_long = 192.169.12.40 and endIP_long = 192.169.20.40
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php