php7 ipv6,php下ipv6转纯数字和反转
发布日期:2022-02-21 12:50:31 浏览次数:19 分类:技术文章

本文共 1081 字,大约阅读时间需要 3 分钟。

// ip转数字

function ip2long_v6($ip) {

$ip_n = inet_pton($ip);

$bin = '';

for ($bit = strlen($ip_n) - 1; $bit >= 0; $bit--) {

$bin = sprintf('%08b', ord($ip_n[$bit])) . $bin;

}

if (function_exists('gmp_init')) {

return gmp_strval(gmp_init($bin, 2), 10);

} elseif (function_exists('bcadd')) {

$dec = '0';

for ($i = 0; $i < strlen($bin); $i++) {

$dec = bcmul($dec, '2', 0);

$dec = bcadd($dec, $bin[$i], 0);

}

return $dec;

} else {

trigger_error('GMP or BCMATH extension not installed!', E_USER_ERROR);

}

}

// 把转的数字反转义成ip

function long2ip_v6($dec) {

if (function_exists('gmp_init')) {

$bin = gmp_strval(gmp_init($dec, 10), 2);

} elseif (function_exists('bcadd')) {

$bin = '';

do {

$bin = bcmod($dec, '2') . $bin;

$dec = bcdiv($dec, '2', 0);

} while (bccomp($dec, '0'));

} else {

trigger_error('GMP or BCMATH extension not installed!', E_USER_ERROR);

}

$bin = str_pad($bin, 128, '0', STR_PAD_LEFT);

$ip = array();

for ($bit = 0; $bit <= 7; $bit++) {

$bin_part = substr($bin, $bit * 16, 16);

$ip[] = dechex(bindec($bin_part));

}

$ip = implode(':', $ip);

return inet_ntop(inet_pton($ip));

}

转载地址:https://blog.csdn.net/weixin_33958381/article/details/115594673 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:matlab v4l2,基于Linux的v4l2视频架构驱动编写
下一篇:云片 php sms接口视频,Laravel、云片网络短信发送PHP SDK

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2023年05月20日 19时10分53秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章

c语言 循环报错,while循环中的malloc与free报错 2019-08-24 11:20:40
这是一个人机反猜数字游戏,人想一个数,电脑来猜, c语言,“人机猜数游戏”C高手来~~~~~~~~~~~~~~~~~~~~? 爱问知识人... 2019-08-24 11:20:40
C语言设计A与B的区别,C语言辅导 - a>b>c与a=b=c的区别 and something else 2019-08-24 11:20:40
C语言缺少参数,c – 函数调用缺少参数列表以创建指针 2019-08-24 11:20:39
自学c语言看视频怎么好晕呀,C语言指针学多了,你为什么会觉得晕? 2019-08-24 11:20:38
c语言串口通信 地址,《c语言串口通信范例》.doc 2019-08-24 11:20:38
linux eclipse cuda,CUDA与Linux系统 2019-08-24 11:20:37
C语言字母升序排列,C语言改错题,题目:实现n个字符串的升序排列 2019-08-24 11:20:37
c语言字体滚动6,C语言实现8X8点阵滚动显示温度的示例代码 2019-08-24 11:20:36
linux trac cgi apache,Apache安全加固的方法 2019-08-24 11:20:36
linux yum源配置详解,配置YUM源的步骤(原理) 2019-08-24 11:20:35
usb共享网络 dns linux,Linux网络服务之DNS 2019-08-24 11:20:35
linux火狐浏览器远程启动失败,Linux sh远程连接失败 sshd.service启动失败 2019-08-24 11:20:34
linux远程连接闪断,详解xshell远程连接自动断开的问题解决办法 2019-08-24 11:20:33
linux登录pg数据库ods,PostgreSQL使用MySQL外表的步骤详解(mysql_fdw) 2019-08-24 11:20:33
linux 函数不让编译器优化,GCC编译器优化选项分析及具体优化了什么 2019-08-24 11:20:32
linux 启动smb服务命令,linux下Samba服务和NFS服务配置的方法 2019-08-24 11:20:32
centos安装linux服务器配置,CentOS 7安装配置图文教程 2019-08-24 11:20:31
linux 安全狗 加入云服务,centos6.5安装网站安全狗并加入服云管理 2019-08-24 11:20:31
linux格式化swap分区,Linux-磁盘格式化、手动增加swap分区 2019-08-24 11:20:30