note 107931 added to ref.network
| From: | eicto at NOSPAM | Date: | Thu, 15 Mar 2012 10:37:51 +0000 |
| Subject: | note 107931 added to ref.network | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-186683@lists.php.net to get a copy of this message | ||
That function return ip ranges
<?php
function iprange($ip,$mask=24,$return_array=FALSE) {
$corr=(pow(2,32)-1)-(pow(2,32-$mask)-1);
$first=ip2long($ip) & ($corr);
$length=pow(2,32-$mask)-1;
if (!$return_array) {
return array(
'first'=>$first,
'size'=>$length+1,
'last'=>$first+$length,
'first_ip'=>long2ip($first),
'last_ip'=>long2ip($first+$length)
);
}
$ips=array();
for ($i=0;$i<=$length;$i++) {
$ips[]=long2ip($first+$i);
}
return $ips;
}
$test1=iprange('192.168.5.12',18);
$test2=iprange('192.168.1.12',28,TRUE);
echo print_r($test1,1)."\n".print_r($test2,1)."\n";
----------------
<?
Array
(
[first] => 3232235520
[size] => 16384
[last] => 3232251903
[first_ip] => 192.168.0.0
[last_ip] => 192.168.63.255
)
Array
(
[0] => 192.168.1.0
[1] => 192.168.1.1
[2] => 192.168.1.2
[3] => 192.168.1.3
[4] => 192.168.1.4
[5] => 192.168.1.5
[6] => 192.168.1.6
[7] => 192.168.1.7
[8] => 192.168.1.8
[9] => 192.168.1.9
[10] => 192.168.1.10
[11] => 192.168.1.11
[12] => 192.168.1.12
[13] => 192.168.1.13
[14] => 192.168.1.14
[15] => 192.168.1.15
)
?>
----
Server IP: 69.147.83.197
Probable Submitter: 91.149.144.71
----
Manual Page -- http://www.php.net/manual/en/ref.network.php
Edit -- https://master.php.net/note/edit/107931
Del: integrated -- https://master.php.net/note/delete/107931/integrated
Del: useless -- https://master.php.net/note/delete/107931/useless
Del: bad code -- https://master.php.net/note/delete/107931/bad+code
Del: spam -- https://master.php.net/note/delete/107931/spam
Del: non-english -- https://master.php.net/note/delete/107931/non-english
Del: in docs -- https://master.php.net/note/delete/107931/in+docs
Del: other reasons-- https://master.php.net/note/delete/107931
Reject -- https://master.php.net/note/reject/107931
Search -- https://master.php.net/manage/user-notes.php