Salve a tutti,
ho creato una funzione in php che mi permette di vedere se un indirizzo IPv4 fa parte di un determinato range:
dove per $ip gli scrivo "192.168.54.32" e per $range scrivo "192.168.32.0/12", ma quando provo a scrivere questo:Codice PHP:function ipfaparte($ip, $range) {
list($rete, $bit) = explode('/', $range);
$n1 = substr(decbin(ip2long($ip)), 0, $bit);
$n2 = substr(decbin(ip2long($rete)), 0, $bit);
if($n1 == $n2) {
return(true);
} else {
return(false);
}
}
non mi stampa niente.Codice PHP:echo (ipfaparte("192.168.54.32", "192.168.32.0/12") ? "si" : "no");
Però ho notato che se io aggiungo un var_dump() all'interno della funzione, facendola diventare così:
mi fa vedere il dump delle variabili e il sì/no come risultato della funzione così:Codice PHP:function ipfaparte($ip, $range) {
list($rete, $bit) = explode('/', $range);
$n1 = substr(decbin(ip2long($ip)), 0, $bit);
$n2 = substr(decbin(ip2long($rete)), 0, $bit);
var_dump($ip, $range, $n1, $n2);
if($n1 == $n2) {
return(true);
} else {
return(false);
}
}
(vabbè in questo risultato non ho messo i valori ip e range che ho scritto sopra)Codice:string(10) "87.16.78.0" string(2) "25" string(25) "1010111000100000100111000" string(25) "1010111000100000100111000" si
Come posso risolvere questo?
Grazie,
foreach

LinkBack URL
About LinkBacks

