inet_pton
long2ip
Network Functions
PHP Manual

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

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.

### Lista de parámetros

`direccion_ip`

  Una dirección en formato estándar.

### Valores retornados

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

### Registro de cambios

Versión | Descripción
--- | ---
5.0.0 | Antes de esta versión, ip2long() devolvía -1 en caso de fallo.

### Ejemplos

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"
?>`

### Notes

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

### Ver también

- long2ip() - Convierte una dirección de red Internet (IPv4) a una cadena en formato estándar de Internet con puntos
- sprintf() - Devuelve una cadena con formato

inet_pton
long2ip
Network Functions
PHP Manual