-~{}~ 11.04.05 17:37:
Вот нашел, чуть дописал, красота, из коментов на www.php.net
function IP_Match($net, $mask, $ip) {
$bits=strpos(decbin(ip2long($mask)),"0");
$network_long=ip2long($net);
$mask_long= pow(2,32)-pow(2,(32-$bits));
$ip_long=ip2long($ip);
if (($ip_long & $mask_long) == $network_long) {
return 1;
} else {
return 0;
}
}
// usage
$net="200.100.50.0";
$mask="255.255.254.0";
$ip="200.100.51.55";
$ip2="200.100.52.2";
echo IP_Match($net, $mask, $ip); //prints 1
echo IP_Match($net, $mask, $ip2); //prints 0