在地图上按 PHP 中的 IP 地址显示位置


Show location on map by IP address in PHP

我有一个包含用户信息(包括IP地址)的数据库,我想知道是否有可能通过在php中从数据库中获取IP来显示用户在世界地图上的位置?

任何帮助表示感谢:)

要查看您网站访问者的 IP 地址,请将此代码插入您希望它显示的区域。
回声 $_SERVER["REMOTE_ADDR"];
然后,您可以使用API定位您的GeoLite MaxMind访问者http://dev.maxmind.com/geoip/legacy/geolite/

可以将 IP 地址与物理位置相关联,但只能松散地关联。IP 地址不会注册到单个用户的确切位置。您将找到 IP 地址的管理域的位置...但仍然在世界地图上,这应该足够好。

基本上它是这样工作的。你会得到一个名为geoip的工具,它应该与一个名为 geoiplookup 的工具打包在一起。然后,您转到 http://dev.maxmind.com/geoip/legacy/geolite/下载GeoLiteCity.dat。然后运行此命令。

geoiplookup -f /path/to/GeoLiteCity.dat <target IP or hostname>

比如刚才我跑了

geoiplookup -f ~/Downloads/GeoLiteCity.dat stackoverflow.com

我得到了这个输出

GeoIP City Edition, Rev 1: US, CA, California, San Francisco, 94107, 37.769699, -122.393303, 807, 415
从PHP

使用它应该很容易使用PHP脚本的内置exec函数。