如何通过IP地址在PHP中检索城市和国家

问题描述:

我正在尝试制作一个登录我的网站的用户日志。我想保存他们的IP地址,以及城市和国家的信息。如何通过IP地址在PHP中检索城市和国家

在此先感谢。

+0

我开始知道有一些PHP库可以完成上述工作。你认识他们中的任何人吗? – yusufiqbalpk 2012-04-26 12:49:13

您可以从$_SERVER['REMOTE_ADDR']获得IP。要获取位置,您必须找到一些服务,提供查找并检查您刚刚收集的IP。

您也可以考虑注册Google分析。

+0

我不是建议你手动做这个。您将IP收集起来并将其发送到您的PHP脚本中,以便将其发送到某个webservice/api/library,然后将该响应与IP一起存储。但个人而言,我只会使用Google Analytics,但这取决于您的需求,当然 – danneth 2012-04-26 12:57:57

+0

对不起。我认为使用谷歌分析是一个更好的主意,然后持有一个长期和长期的数据库的IP或依赖其他APIS和库,可能需要在操作中。谢谢你的评论。你先回答,然后回答。谢谢 – yusufiqbalpk 2012-04-26 13:00:30

+0

@yusufiqbalpk:不用担心,我可以在那里更清楚。至于downvote,我不知道... – danneth 2012-04-26 14:29:24

我认为你应该去谷歌分析,你会从那里得到所有这些数据。否则,对于IP地址,您可以使用此脚本

function getIP() { 
$ip; 
if (getenv("HTTP_CLIENT_IP")) 
$ip = getenv("HTTP_CLIENT_IP"); 
else if(getenv("HTTP_X_FORWARDED_FOR")) 
$ip = getenv("HTTP_X_FORWARDED_FOR"); 
else if(getenv("REMOTE_ADDR")) 
$ip = getenv("REMOTE_ADDR"); 
else 
$ip = "UNKNOWN"; 
return $ip; 
} 

&为国名

http://geoip.wtanaka.com/cc/$ipaddr 

这将返回国家ISO代码。

用户输入他们的城市和国家吗?如果是,那么很容易将数据保存到数据库。

还是你想跟踪这些IP?如果这个 - 从http://www.ip2country.net/download.html通过ip下载/购买国家的数据库,并且只将IP放入数据库。

尝试使用MaxMind GeoIP数据库,我找到了免费提供的最佳解决方案。它有一套方法来检索城市和国家的IP,并获得ip只是使用: $_SERVER['REMOTE_ADDR']

+0

你打我提示MaxMind :) – djdy 2012-04-26 12:56:05