对于我正在开发的网站,我希望它能说出每个国家有多少用户访问过我的网站,但我很好奇的是如何获取用户的国家(从他们的IP,也许?)?我几个小时一直在四处寻找API,但我找不到像样的东西。有没有人有任何建议?谢谢您的帮助 :)。如何使用PHP获取页面访问者国家?
0
A
回答
10
您可以使用外部API的像geoplugin.net
$xml = simplexml_load_file("http://www.geoplugin.net/xml.gp?ip=76.109.14.196");
echo $xml->geoplugin_countryName ;
输出国家
United States
完整的XML响应
<geoPlugin>
<geoplugin_request>76.109.14.196</geoplugin_request>
<geoplugin_status>200</geoplugin_status>
<geoplugin_city>West Palm Beach</geoplugin_city>
<geoplugin_region>FL</geoplugin_region>
<geoplugin_areaCode>561</geoplugin_areaCode>
<geoplugin_dmaCode>548</geoplugin_dmaCode>
<geoplugin_countryCode>US</geoplugin_countryCode>
<geoplugin_countryName>United States</geoplugin_countryName>
<geoplugin_continentCode>NA</geoplugin_continentCode>
<geoplugin_latitude>26.761600494385</geoplugin_latitude>
<geoplugin_longitude>-80.091598510742</geoplugin_longitude>
<geoplugin_regionCode>FL</geoplugin_regionCode>
<geoplugin_regionName>Florida</geoplugin_regionName>
<geoplugin_currencyCode>USD</geoplugin_currencyCode>
<geoplugin_currencySymbol>$</geoplugin_currencySymbol>
<geoplugin_currencyConverter>1</geoplugin_currencyConverter>
</geoPlugin>
简单的函数来获取IP
function getIP() {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (! empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
1
基本方法是记录传入的IP地址(位于$_SERVER['REMOTE_ADDR']
),然后使用地理位置数据库将其转换为国家/地区信息。
您需要保持您的地理位置数据库保持最新,请记住。
有几个地方提供地理定位数据库。一些成本(他们倾向于更准确和更新),但免费的通常也很好。
-1
这是一种非常常见的情况,如果您尝试search in google,您会发现很多有用的结果。
是的,你使用访问者的IP并解析他们的国家。但是更复杂的算法包括浏览器接受语言,用于某人处于不同国家的情况。
再见
0
有时候,我们需要管理根据访问者的国家的内容或货币。通常情况下,每个开发者都会遇到这种情况,他们试图找到更好的解决方案。你可以在这里找到详细的文章 - http://virallangaliya.blogspot.in/2013/04/how-to-find-city-and-country-of-visitor.html
相关问题
- 1. 如何使用php识别每个访问者国家/地区?
- 2. 使用经典ASP 3.0获取访问者国家信息
- 3. PHP非美国访问者访问者
- 4. 如何根据访问者的国家获得当前日期?
- 5. 如何在Google Analytics中获得更多的访问者国家?
- 6. 如何使用PHP中的国家代码获取国家最大的城市?
- 7. 如何cookie访问某个页面的访问者(PHP)?
- 8. 如何获取GAE页面的访问者数量?
- 9. Youtube:获取订阅者的国家
- 10. 根据访问者的国家更改网页横幅图像
- 11. 如何使用php sdk获取Facebook国家和城市
- 12. 使用Joomla,我如何为来自不同国家的访问者提供不同的页面?
- 13. 将访问者从某些国家重定向到安全页面
- 14. 如何根据国家阻止特定页面的国家在php
- 15. Moodle php获取当前用户国家
- 16. 如何获取页面访问令牌
- 17. 谷歌分析API:如何获取非美国访问者
- 18. 如何获取用户位置国家
- 19. PHP:页面缓存与国家
- 20. 在Android中获取国家的国家
- 21. 如何访问Facebook国家数据库
- 22. 如何根据用户在Android中输入的国家/地区访问或获取ISO3国家代码
- 23. 使用Google API获取城市的国家/国家建议
- 24. 使用Facebook API 5.0获取页面访问令牌PHP
- 25. 获取用户的国家
- 26. 获取访问使用PHP
- 27. php facebook API获取国家名
- 28. iptolatlng.com从IP php获取国家名称
- 29. 如何访问主Google主页(无国家重定向)
- 30. 使用App访问令牌来获得具有国家限制
啊!发现有这样的事情!感谢您的回答,它真的有帮助:) – xlTobylx
@xlTobylx欢迎您 – Baba
“HTTP_X_FORWARDED_FOR永远不应该被用作验证用户IP的手段”http://www.thespanner.co.uk/2007/12/02/伪造最意想不到/ –