在32位系统,ip2long不能转换IPv6,但您可以转换ip2bin和bin2ip这个函数转换为IPv4和IPv6,返回false,如果是无效的实例程序PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载代码如下复制代码function ip2bin($ip){if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) !== false)return base_convert(ip2long($ip),10,2);if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === false)return false;if(($ip_n = inet_pton($ip)) === false) return false;$bits = 15; // 16 x 8 bit = 128bit (ipv6)while ($bits >= 0){$bin = sprintf("%08b",(ord($ip_n[$bits])));$ipbin = $bin.$ipbin;$bits--;}return $ipbin;}function bin2ip($bin){if(strlen($bin) return long2ip(base_convert($bin,2,10));if(strlen($bin) != 128)return false;$pad = 128 - strlen($bin);for ($i = 1; $i{$bin = "0".$bin;}$bits = 0;while ($bits{$bin_part = substr($bin,($bits*16),16);$ipv6 .= dechex(bindec($bin_part)).":";$bits++;}return inet_ntop(inet_pton(substr($ipv6,0,-1)));}?>http://www.bkjia.com/PHPjc/632086.html www.bkjia.com true http://www.bkjia.com/PHPjc/632086.html TechArticle在32位系统,ip2long不能转换IPv6,但您可以转换ip2bin和bin2ip这个函数转换为IPv4和IPv6,返回false,如果是无效的 实例程序 代码如下 复制代码...
