Descripción
int
ip2long ( string direccion_ip )
La función ip2long() genera una
dirección de red Internet IPv4 desde su
representación en formato estándar de Internet
(cadena con puntos). Si direccion_ip es
inválida, entonces se devuelve -1.
Note que -1 no evalúa a FALSE en PHP.
Nota:
A partir de PHP 5.0.0, ip2long() devuelve
FALSE cuando ip_address es
inválido.
Ejemplo 1. Ejemplo de ip2long()
<?php $ip = gethostbyname('www.example.com'); $salida = "Las siguientes URLs son equivalentes:<br />\n"; $salida .= 'http://www.example.com/, http://' . $ip . '/, y http://' . sprintf("%u", ip2long($ip)) . "/<br />\n"; echo $salida; ?>
|
|
Nota:
Ya que el tipo entero de PHP tiene signo, y muchas direcciones
IP resultarán en enteros negativos, necesita usar el
especificador de formato "%u" de sprintf() o
printf() para obtener la
representación de cadena de la dirección IP sin
signo.
Este segundo ejemplo muestra cómo imprimir una
dirección convertida con la función
printf() tanto en PHP 4 como en PHP 5:
Ejemplo 2. Desplegar una dirección IP (PHP 4)
<?php $ip = gethostbyname('www.example.com'); $long = ip2long($ip);
if ($long == -1 || $long === FALSE) { echo 'IP inválida, por favor intente de nuevo'; } else { echo $ip . "\n"; // 192.0.34.166 echo $long . "\n"; // -1073732954 printf("%u\n", ip2long($ip)); // 3221234342 } ?>
|
|
ip2long() no deberÃa usarse como la
única forma de validación de IP. CombÃnela
con long2ip():
Ejemplo 3. Validación de IP
<?php // asegurarse de que las IP son validas. tambien convierte una IP // no-completa en un cuarteto debidamente separado con puntos, como // se explica mas adelante. $ip = long2ip(ip2long("127.0.0.1")); // "127.0.0.1" $ip = long2ip(ip2long("10.0.0")); // "10.0.0.0" $ip = long2ip(ip2long("10.0.256")); // "10.0.1.0" ?>
|
|
ip2long() trabajará también con
direcciones IP no-completas. Lea http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm para
más información.
Nota:
ip2long() devolverá FALSE para la IP
255.255.255.255 en PHP 5 <= 5.0.2. Fue
corregido en PHP 5.0.3 cuando devolvÃa
-1 (al igual que en PHP 4).
Vea también long2ip() y
sprintf().