我读到在数据库中存储 IP 地址的最佳方法是创建一个 Unsigned Int(10) 字段。如何使用 PHP 转换 IP 地址?我试过使用
$this->ip = long2ip($_SERVER['REMOTE_ADDR']);
但这似乎行不通。我找到了使用
将其转换回 IP 地址的方法$this->ip = sprintf("%u", ip2long($result['ip']));
最初如何转换 IP 地址?我应该为此使用 PHP 吗?或者集成到 MySQL 查询中会更好吗?
最佳答案
long2ip
将整数转换为 IP 格式和 ip2long
做相反的事情。
于是使用ip2long
将$_SERVER['REMOTE_ADDR']
转换为整数存入数据库,读取后使用long2ip
来自数据库的整数:
$long = ip2long($_SERVER['REMOTE_ADDR']);
$ip = long2ip($long);
关于php - 将 IP 存储为 unsigned int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3828409/