- decbin: documentation ( source)
- explode: documentation ( source)
- long2ip: documentation ( source)
- ip2long: documentation ( source)
<?php
//Используется так:
function net_match ( $network , $ip ) {
$ip_arr = explode ( '/' , $network );
$network_long = ip2long ( $ip_arr [ 0 ]);
$x = ip2long ( $ip_arr [ 1 ]);
$mask = long2ip ( $x ) == $ip_arr [ 1 ] ? $x : 2^( 32 - $ip_arr [ 1 ]);
$ip_long = ip2long ( $ip );
echo ">".$ip_arr[1]."> ".decbin($mask)."\n";
return ( $ip_long & $mask ) == ( $network_long & $mask );
}
echo net_match ( '192.168.0.0/2', '192.168.0.15' );