我在Mysql数据库中有Maxmind Geolitecity数据库。
我可以看到像startIpNum和endIpNum这样的字段。
这些字段的值如下:startIpNum为16777216,endIpNum`为16777471。
我的ip是115.184.126.186,如何转换我的ip以匹配startIpNum或endIpNum
发布于 2011-07-07 17:16:45
按照lmz的建议使用inet_aton(),或者在php中使用:
http://php.net/manual/en/function.ip2long.php
注意,这个函数返回一个有符号整数,意思是从−2,147,483,648到2,147,483,647,我认为maxmind geoip数据库使用无符号整数(0-4,294,967,295?)因此需要添加2,147,483,647 (2^31-1)
发布于 2011-07-07 17:00:53
尝试MySQL中的inet_aton函数。
发布于 2011-07-07 17:08:32
尝试如下所示:
<?php
$ipadd="115.184.126.186";
$ips = explode(".",$ipadd);
$x=($ips[3] + $ips[2] * 256 + $ips[1] * 256 * 256 + $ips[0] * 256 * 256 * 256);
echo $x;
?>只需将此函数修改为函数即可。
here是代码的结果
https://stackoverflow.com/questions/6608120
复制相似问题