On 27/05/14 23:10, Alberto José García Fumero wrote:

> Por ejemplo, el número 3232235530 debería ser una  IP del  rango
> 192.168.0.x

Hola

En mi mensaje anterior conté cómo dividir en octetos pero releyendo
ahora entiendo que que preguntas cómo saber si un ip pertenece a una
red. Puedes hacerlo diviendo en octeto y preguntando si los tres
primeros coinciden, pero también puedes hacerlo con la fórmula:

ip & mask == net ?

En tu caso la red sería 192.168.0.0, que en decimal es 3232235520, y la
máscara sería /24, que es trivial expresarla en hexadecimal.

Entonces preguntar por la pertenencia en PHP se reduce a:

if ($ip_as_int & 0xffffff00 == 3232235520) {
   // el ip pertenece a la 192.168.0.0/24
}

Saludos,
maykel

[1] http://www.php.net/manual/en/language.operators.bitwise.php


-- 
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que est� limpio.

______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a