note 30910 added to ref.network
| From: | php-general at lists dot php dot net | Date: | Thu, 03 Apr 2003 02:11:27 +0000 |
| Subject: | note 30910 added to ref.network | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-46148@lists.php.net to get a copy of this message | ||
Alternative cidr_conv function - a little easier to follow
function cidr_conv($cidr_address) {
$first = substr($cidr_address, 0, strpos($cidr_address, "/"));
$netmask = substr(strstr($cidr_address, "/"), 1);
$first_bin = str_pad(decbin(ip2long($first)), 32, "0", STR_PAD_LEFT);
$netmask_bin = str_pad(str_repeat("1", (integer)$netmask), 32, "0",
STR_PAD_RIGHT);
for ($i = 0; $i < 32; $i++) {
if ($netmask_bin[$i] == "1")
$last_bin .= $first_bin[$i];
else
$last_bin .= "1";
}
$last = long2ip(bindec($last_bin));
return "$first - $last";
}
--
http://www.php.net/manual/en/ref.network.php
http://master.php.net/manage/user-notes.php?action=edit+30910
http://master.php.net/manage/user-notes.php?action=delete+30910
http://master.php.net/manage/user-notes.php?action=reject+30910