ip2long
PHP Manual
PHP Manual»Funções de Network»ip2long

ip2long

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

ip2longConverte uma string contendo um endereço com pontos do protocolo da Internet (IPv4) em um número inteiro longo

Descrição

function ip2long(string $ip): int|false

A função ip2long() gera uma representação inteira longa do endereço de rede da Internet IPv4 a partir de sua representação no formato padrão da Internet (string com pontos).

ip2long() também funcionará com endereços IP incompletos. Leia » http://ps-2.kev009.com/wisclibrary/aix52/usr/share/man/info/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm para mais informações.

Parâmetros

ip

Um endereço no formato padrão.

Valor Retornado

Retorna o número inteiro longo ou false se ip for inválido.

Exemplos

Exemplo #1 Exemplo de ip2long()

<?php
$ip = gethostbyname('www.example.com');
$out = "Os seguintes URLs são equivalentes:<br />\n";
$out .= 'http://www.example.com/, http://' . $ip . '/, e http://' . sprintf("%u", ip2long($ip)) . "/<br />\n";
echo $out;
?>

Exemplo #2 Exibindo um endereço IP

Este segundo exemplo mostra como exibir um endereço convertido com a função printf():

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

if ($long == -1 || $long === FALSE) {
    echo 'IP inválido, tente novamente';
} else {
    echo $ip   . "\n";            // 192.0.34.166
    echo $long . "\n";            // 3221234342 (-1073732954 em sistemas de 32 bits, devido ao estouro de número inteiro)
    printf("%u\n", ip2long($ip)); // 3221234342
}
?>

Notas

Nota:

Como o tipo int do PHP é com sinal e muitos endereços IP resultarão em números inteiros negativos em arquiteturas de 32 bits, é necessário usar o formatador "%u" de sprintf() ou printf() para obter a representação em string do endereço IP sem sinal.

Nota:

ip2long() retornará -1 para o IP 255.255.255.255 em sistemas de 32 bits devido ao estouro do valor inteiro.

Veja Também

  • long2ip() - Converte um endereço inteiro longo em uma string no formato padrão com pontos da Internet (IPv4)
  • sprintf() - Retona uma string formatada

To Top