ip2long

(PHP 4, PHP 5, PHP 7)

ip2longConvierte una cadena que contiene una dirección con puntos del Protocolo de Internet (IPv4) en una dirección apropiada

Descripción

ip2long ( string $ip_address ) : int

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.

Parámetros

ip_address

Una dirección en formato estándar.

Valores devueltos

Devuelve la dirección IPv4 o FALSE si direccion_ip es un valor inválido.

Historial de cambios

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.

Ejemplos

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 == -|| $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
}
?>

Notas

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 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).

Ver también

  • long2ip() - Convierte una dirección de red (IPv4) en una cadena de texto en formato con puntos estándar de internet
  • sprintf() - Devuelve un string formateado