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

Reply via email to