PHP 8.1.31 Released!

inet_ntop

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

inet_ntopConverte um endereço de Internet compactado em uma representação legível

Descrição

inet_ntop(string $ip): string|false

Esta função converte um endereço IPv4 de 32 bits ou IPv6 de 128 bits (se o PHP foi construído com suporte IPv6 habilitado) em uma representação de string apropriada para a família de endereços.

Parâmetros

ip

Um endereço IPv4 de 32 bits ou IPv6 de 128 bits.

Valor Retornado

Retorna uma representação em string do endereço ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de inet_ntop()

<?php
$packed
= chr(127) . chr(0) . chr(0) . chr(1);
$expanded = inet_ntop($packed);

/* Exibe: 127.0.0.1 */
echo $expanded;

$packed = str_repeat(chr(0), 15) . chr(1);
$expanded = inet_ntop($packed);

/* Exibe: ::1 */
echo $expanded;
?>

Veja Também

  • long2ip() - Converte um endereço inteiro longo em uma string no formato padrão com pontos da Internet (IPv4)
  • ip2long() - Converte uma string contendo um endereço com pontos do protocolo da Internet (IPv4) em um número inteiro longo
  • inet_pton() - Converte um endereço IP legível em sua representação de endereço de Internet compactado

adicione uma nota

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

up
52
ryansun81 at gmail dot com
14 years ago
For people who wondering what the meaning of this function name:
pton: a presentation(printable) format address to network address
ntop: a network address to presentation(printable) format address
up
6
marcus at synchromedia dot co dot uk
9 years ago
PHP's inet_ntop function is not compatible with the binary representation used by MySQL's INET6_ATON function, assuming you are using the recommended method of storing both IPv4 and IPv6 addresses in a VARBINARY(16) field. You need to convert it like this:

/**
* Convert a MySQL binary v4 (4-byte) or v6 (16-byte) IP address to a printable string.
* @param string $ip A binary string containing an IP address, as returned from MySQL's INET6_ATON function
* @return string Empty if not valid.
*/
function inet6_ntop($ip) {
$l = strlen($ip);
if ($l == 4 or $l == 16) {
return inet_ntop(pack('A' . $l, $ip));
}
return '';
}

You don't need a function going the other way because MySQL's INET6_NTOA is already compatible with PHP's inet_pton function.
To Top