这两个函数有没有PHP等价物?我试着搜索但看不到任何东西。
感谢。
答案 0 :(得分:10)
$ip = '192.0.34.166';
printf("%u\n", ip2long($ip)); // 3221234342
正如手册中所述:
注意:因为PHP的整数类型是 签名,许多IP地址将 导致负整数,你需要 使用sprintf()的“%u”格式化程序 或printf()来获取字符串 无符号IP的表示 地址。
答案 1 :(得分:1)
这里的PHP替代功能(在程序中简单复制/粘贴) -
function inet_aton($ip)
{
$ip = trim($ip);
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) return 0;
return sprintf("%u", ip2long($ip));
}
function inet_ntoa($num)
{
$num = trim($num);
if ($num == "0") return "0.0.0.0";
return long2ip(-(4294967295 - ($num - 1)));
}