ip2long

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

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.

En PHP 5, ip2long() devuelve FALSE cuando el valor ip_address es inválida.

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() en PHP 4:

Ejemplo 2. Desplegar una dirección IP (PHP 4)

<?php
$ip   
= gethostbyname("www.example.com");
$long = ip2long($ip);

if (
$long === -1) {
    echo
"IP inv&aacute;lida, por favor intente de nuevo";
} else {
    echo
$ip   . "\n";           // 192.0.34.166
    
echo $long . "\n";           // -1073732954
    
printf("%u\n", ip2long($ip)); // 3221234342
}
?>

Este tercer ejemplo muestra el modo de imprimir una dirección convertida con la función printf() en PHP 5:

Ejemplo 3. Desplegar una dirección IP (PHP 5)

<?php
$ip   
= gethostbyname("www.example.com");
$long = ip2long($ip);

if (
$long === false) {
    echo
"IP inv&aacute;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() 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á -1 para la IP 255.255.255.255

Vea también long2ip() y sprintf().