particularmente eu aconselho criar uma classe para trabalhar com isto !
function fill0($x){
return str_pad($x,8,'0',STR_PAD_LEFT);
}
function ip2bin($x){
preg_match_all("/[0-9]{1,3}/","$x",$a);
$b=array_map("decbin",$a[0]);
$c=array_map("fill0",$b);
return ("$c[0]$c[1]$c[2]$c[3]");
}
function checkNet($ip,$mask){
$b=ip2bin($mask);
if (!preg_match("/^1*0*$/",$b)) return "Mascara invalida";
$a=ip2bin($ip);
if (($a | $b) !== $b) return "Ip de rede invalido";
}
// Executando //
$x=checkNet($a="128.0.0.0",$b="128.0.1.0");
echo ($x?$x:"Rede Valida")."\n";
a função checkNet retorna string erro ou nada para tudo valido.
Nenhum comentário:
Postar um comentário