我想把纯真版ip数据库导入到sql数据库中,但是我如何把ip的格式生成十进制的一些字符串在线等..

来源:百度知道 编辑:UC知道 时间:2024/07/04 13:38:58
就是比如说192.168.1.142转换成 "125454564"这样的数字
呵呵 不好意思啊,我的意思就是把ip 转化成一个十进制的数

192.168.1.142转换成125454564?你这是什么加密算法哦?

192.168.1.142转换为整数形式应该是3232235918
吧。计算方法是192*256*256*256 + 168*256*256 + 1*256 + 142

知道了上面的计算过程,你应该可以转换了吧。

不同语言写的语句稍微有区别,核心的算法就是上面的计算方法。

如果你想用SQL语句实现,可能稍微有点麻烦,一个思路是先把192.168.1.142转换到四个字段上,然后再用四个整数字段的值计算最后的值。

哪有那么麻烦 用php自带函数 ip2long 即可, 转回来用long2ip

有可能出现负值就先转2进制,再转回10进制。

完整代码: $ip_int = bindec(decbin(ip2long($ip)));

用函数 inet_aton(IP) 转换程十进制数字, 反向转换用inet_ntoa(digi)