PHP cidr2range()

1 개요[ | ]

PHP cidr2range()
function cidr2range($cidr) {
	list($ip,$bits) = explode('/', $cidr);
	return ['min' => long2ip( ip2long($ip) & (-1<<(32-$bits)) ),
		'max' => long2ip( ip2long($ip) + pow(2,32-$bits) - 1 )];
}

####
print_r( cidr2range('127.0.0.1/32') );
# Array
# (
#     [min] => 127.0.0.1
#     [max] => 127.0.0.1
# )
print_r( cidr2range('123.123.123.123/32') );
# Array
# (
#     [min] => 123.123.123.123
#     [max] => 123.123.123.123
# )
print_r( cidr2range('192.168.0.0/16') );
# Array
# (
#     [min] => 192.168.0.0
#     [max] => 192.168.255.255
# )
print_r( cidr2range('172.16.0.0/12') );
# Array
# (
#     [min] => 172.16.0.0
#     [max] => 172.31.255.255
# )
print_r( cidr2range('10.0.0.0/8') );
# Array
# (
#     [min] => 10.0.0.0
#     [max] => 10.255.255.255
# )
print_r( cidr2range('0.0.0.0/0') );
# Array
# (
#     [min] => 0.0.0.0
#     [max] => 255.255.255.255
# )

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}