Hallo und guten Tag,
hab mich jetzt doch mal an den Schreibtisch gequält...
Wo steckt der Denkfehler in meinem Testscript?
<?php ### op2long.php ### utf-8 ### äöüÄÖÜ
header('Content-Type: text/plain');
$_ip[] = '255.255.255.255';
$_ip[] = '127.0.0.1';
foreach ($_ip as $key => $dotted)
{
$iplong = ip2long($dotted);
$rshift = $iplong >> 8;
$ipv4 = long2ip($rshift);
if ($iplong === FALSE)
{
echo "false:\t";
}
else
{
echo "true: \t";
}
echo "$dotted \t $iplong \t $rshift \t $ipv4 \r\n";
}
?>
ergibt:
true: 255.255.255.255 -1 -1 255.255.255.255
true: 127.0.0.1 2130706433 8323072 0.127.0.0
Ich komme mit dem Wertebreich vom Integer nicht klar für IPv4, denn MAXINT ist eben nur 31stellig für den Zahlenwert...
Grüße
TS