📜  PHP | inet_pton()函数(1)

📅  最后修改于: 2023-12-03 15:18:24.537000             🧑  作者: Mango

PHP | inet_pton()函数

inet_pton()函数是PHP中一个用于将IPv4或IPv6地址转换为二进制格式的函数。IPv4格式的地址转换为32位二进制格式,IPv6格式的地址则转换为128位二进制格式。

语法
inet_pton ( string $address ) : string|false
参数
  • address:需要转换的IPv4或IPv6格式的地址。
返回值
  • 如果转换成功,返回转换后的二进制格式地址。
  • 如果转换失败,返回False。
示例

以下示例展示如何将IPv4和IPv6地址转换为二进制格式:

// IPv4地址转换为二进制格式
$ipv4 = '192.168.0.1';
$bin_ipv4 = inet_pton($ipv4);
echo bin2hex($bin_ipv4); // 输出:c0a80001

// IPv6地址转换为二进制格式
$ipv6 = '2001:db8:85a3:0:0:8a2e:370:7334';
$bin_ipv6 = inet_pton($ipv6);
echo bin2hex($bin_ipv6); // 输出:20010db885a30000008a2e03707334

可以看到,inet_pton()函数返回的二进制格式地址可以使用bin2hex()函数进行转换为十六进制格式。

注意点
  • 自PHP 5.3.0起,IPv6地址转换支持IPV6压缩格式。
  • inet_pton()函数无法将无效的IPv6地址转换为二进制格式,例如:2001:::db8