ip2long
PHP Manual
PHP Manual»Funciones de red»ip2long

ip2long

(PHP 4, PHP 5, PHP 7, PHP 8)

ip2longConvierte una cadena que contiene una dirección (IPv4) en notación decimal con puntos en una dirección entera larga

Descripción

function ip2long(string $ip): int|false

La función ip2long() genera una representación en entero largo de una dirección IPv4 desde su formato estándar (notación decimal con puntos)

ip2long() también funciona con direcciones IP incompletas. Leer » 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.

Parámetros

ip

Una dirección en formato estándar.

Valores devueltos

Devuelve el entero largo, o false si ip es inválido.

Ejemplos

Ejemplo #1 Ejemplo con ip2long()

<?php
$ip = gethostbyname('www.example.com');
$out = "Las URL siguientes son equivalentes :<br />\n";
$out .= 'http://www.example.com/, http://' . $ip . '/, and http://' . sprintf("%u", ip2long($ip)) . "/<br />\n";
echo $out;
?>

Ejemplo #2 Mostrar una dirección IP

Este segundo ejemplo muestra cómo mostrar una dirección convertida a través de la función printf():

<?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";            // 3221234342 (-1073732954 en los sistemas de 32-bit, debido al desbordamiento de entero)
    printf("%u\n", ip2long($ip)); // 3221234342
}
?>

Notas

Nota:

Como los int PHP son firmados y muchas direcciones IP resultarán en enteros negativos en las arquitecturas de 32-bits, se debe utilizar el patrón "%u" de la función sprintf() o de la función printf() para obtener la representación en forma de string de una dirección IP no firmada.

Nota:

ip2long() devolverá -1 para la IP 255.255.255.255 en los sistemas de 32-bits debido al desbordamiento del valor entero.

Véase también

  • long2ip() - Convierte un entero largo (IPv4) a su notación decimal con puntos
  • sprintf() - Devuelve una string formateada

To Top