PHP-将IPV6地址计算成long型ip2long6(),将long型计算成IPV6地址long2ip6()-笔记

由于需要将IPV6地址计算成long型,将long型计算成IPV6地址,然而PHP没有提供这个函数。不想自己去写,所以bing一次,又得,记之,希望能帮到其他朋友。

文中函数源地址:http://phpsnips.com/466/Aggregate-IP-addresses-and-IP-prefixes,-including-IPv4-and-IPv6-address-notations
PHP-Gmp库安装详解:http://php.net/manual/en/gmp.requirements.php
ip and long 在线计算:http://webdnstools.com/dnstools/ipcalc

注意:下面函数都需要使用php-gmp库,关于gmp库详解请参考上面链接。
将IPV6地址计算成long型ip2long6()函数(已验证,无误):

= 0) { 
    $bin = sprintf("%08b",(ord($ip_n[$bits]))); 
    $ipv6long = $bin.$ipv6long; 
    $bits--; 
  } 
  return gmp_strval(gmp_init($ipv6long,2),10); 
} 
?>

将long型计算成IPV6地址long2ip6()函数(已验证,无误):


分享到:更多 ()