array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'es', ), 'this' => array ( 0 => 'function.ip2long.php', 1 => 'ip2long', ), 'up' => array ( 0 => 'ref.network.php', 1 => 'Funciones de red', ), 'prev' => array ( 0 => 'function.inet-pton.php', 1 => 'inet_pton', ), 'next' => array ( 0 => 'function.long2ip.php', 1 => 'long2ip', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'es', 'path' => 'reference/network/functions/ip2long.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
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://ps-2.kev009.com/wisclibrary/aix52/usr/share/man/info/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm para más información.
ip_address
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.2.10 | Antes de esta versión, ip2long() según como devolverá un número válido incluso si el valor no es una dirección con puntos (IPv4) Internet Protocol. |
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;
?>
Ejemplo #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
}
?>
Nota:
Ya que los tipos integer en PHP tiene signo, y muchas direcciones IP resultarán en enteros negativos en arquitecturas de 32 bits, necesita usar el especificador de formato "%u" de sprintf() o printf() para obtener la representación en forma de cadena de la dirección IP sin signo.
Nota:
ip2long() devolverá
false
para la IP255.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).