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
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
inet_ntop — Bir IP adresinin in_addr gösterimini insan okuyabilir gösterime dönüştürür
Bu işlev 32 bitlik IPv4 veya (PHP, IPv6 desteğiyle derenmişse) 128 bitlik IPv6 adresini dizge gösterimli uygun bir adres ailesine dönüştürür.
ip
32 bitlik IPv4 veya 128 bitlik IPv6 adresi
Başarısızlık durumunda false
, aksi takdirde adresin dizge gösterimiyle
döner.
Örnek 1 - inet_ntop() örneği
<?php
$ikil = chr(127) . chr(0) . chr(0) . chr(1);
$dizge = inet_ntop($packed);
/* Çıktısı: 127.0.0.1 */
echo $dizge;
$ikil = str_repeat(chr(0), 15) . chr(1);
$dizge = inet_ntop($packed);
/* Çıktısı: ::1 */
echo $dizge;
?>
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
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.