前言
在PHP开发中,有时候会遇到一些需求,例如:获取用户的IP地址,并存到数据库当中。一般做法是将IP地址转变为整型存入数据库当中,至于如何将IP地址转成整型,有很多做法^1,而我习惯用ip2long
这个函数来处理,当然你也可以自己写一个更好的函数。
当然ip2long
转化的IP地址并不是很完美,某些地址存在BUG,就是转换后的地址会变成一个负数(原因是溢出了)。
解决方案
最简单的方法是使用decbin
将ip2long
的返回值转成二进制,然后再通过bindec
将结果转回十进制。(官方也推荐过另一个解决办法,在官方手册中有说明)
|
|