long2ip

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

long2ipConverte um endereço inteiro longo em uma string no formato padrão com pontos da Internet (IPv4)

Descrição

long2ip(int $ip): string

A função long2ip() gera um endereço de Internet em formato com pontos (ou seja: aaa.bbb.ccc.ddd) a partir da representação de inteiro longo.

Parâmetros

ip

Uma representação de endereço adequada em número inteiro longo.

Valor Retornado

Retorna o endereço IP da Internet como uma string.

Registro de Alterações

Versão Descrição
8.4.0 O tipo do retorno foi alterado de string|false para string.
7.1.0 O tipo do parâmetro ip foi alterado de string para int.

Notas

Nota:

Em arquiteturas de 32 bits, converter representações inteiras de endereços IP de string para int não fornecerá resultados corretos para números que excedam PHP_INT_MAX.

Veja Também

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

adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

up
9
Gabriel Malca
19 years ago
If the function doesn't exist:<?    if (!function_exists("long2ip")) {        function long2ip($long) {            // Valid range: 0.0.0.0 -> 255.255.255.255            if ($long < 0 || $long > 4294967295) return false;            $ip = "";            for ($i=3;$i>=0;$i--) {                $ip .= (int)($long / pow(256,$i));                $long -= (int)($long / pow(256,$i))*pow(256,$i);                if ($i>0) $ip .= ".";            }            return $ip;        }    }?>
up
5
steve at computurn dot com
6 years ago
For a 32bit safe long2ip, which can accept string or signed integer input, try:  function safelong2ip($long) {    $binStr = sprintf("%032s", decbin((float)$long));    if (strlen($binStr) != 32) {      throw new Exception("Invalid IPv4 subnet!");    }    $ipArr = [];    for ($i = 0; $i < 4; ++$i) {      $ipArr[] = bindec(substr($binStr, $i*8, 8));    }    return implode('.', $ipArr);  }
To Top