(PHP 4, PHP 5)
ip2long — Convierte una cadena que contiene una dirección con puntos del Protocolo de Internet (IPv4) en una dirección apropiada
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).
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.
Una dirección en formato estándar.
Devuelve la dirección IPv4 o FALSE si direccion_ip es un valor inválido.
Versión | Descripción |
---|---|
5.0.0 | Antes de esta versión, ip2long() devolvía -1 en caso de fallo. |
Example#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;
?>
Example#2 Desplegar una dirección IP
Este segundo ejemplo muestra cómo imprimir una dirección convertida con la función printf() tanto en PHP 4 como en PHP 5:
<?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
}
?>
Example#3 Validación de IP
ip2long() no debería usarse como la única forma de validación de IP. Combínela con long2ip():
<?php
// asegurarse de que las IP son válidas. también convierte una IP
// no-completa en un cuarteto debidamente separado con puntos, como
// se explica más 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"
?>
Note: 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.
Note: 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).