我在一些帖子中读过,IP地址可以在mysql db中转换并保存为整数。有人能举例说明吗?
提前致谢。
答案 0 :(得分:7)
答案 1 :(得分:6)
ip2long()
http://php.net/manual/en/function.ip2long.php
由于您说要将其与MySQL数据库一起使用,因此请使用这两个函数来转换和转换为与MySQL INET_ATON和INET_NTOA兼容的数字。
<?php
function convertIpToString($ip)
{
$long = 4294967295 - ($ip - 1);
return long2ip(-$long);
}
function convertIpToLong($ip)
{
return sprintf("%u", ip2long($ip));
}
?>
参考MySQL函数:
INET_ATON() -- Return the numeric value of an IP address
INET_NTOA() -- Return the IP address from a numeric value
http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_inet-aton
答案 2 :(得分:1)
ip2long $ip = ip2long($ip);
答案 3 :(得分:0)
您可以使用ip2long()转换为int
$Db_ip=ip2long("127.0.0.1");
获取IP地址
$ip = long2ip($Db_ip); // "127.0.0.1"