我想基于IP地址的国家/地区名称或位置。我只能显示IP地址。我很努力,但我不能。所以,请帮我解决这个问题。
<?php
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'];
}
?>
答案 0 :(得分:1)
您无法通过简单检查确定IP地址的国家/地区或位置。您可以通过将其发送到http://whatismyipaddress.com/ip/127.0.0.1之类的服务(其中有问题的IP地址替换127.0.0.1)来查找有关它的一些信息。该服务使用各种数据库得出结论。这不是绝对正确的,但往往更正确。
答案 1 :(得分:0)
如果您需要此功能用于商业用途,解决方案是CountryHawk
http://www.cyscape.com/products/chawk/
如果您能够从PHP运行服务器端ActiveX或JavaBean组件,则可以将CountryHawk与PHP一起使用。如果您在PHP中有ActiveX支持,请使用CountryHawk的ActiveX / .NET版本。否则我们是JavaBean版本(CountryHawk4J)。
以下是一段代码,演示了如何在PHP中使用带有ActiveX支持的CountryHawk:
$countryObj = new COM("cyScape.CountryObj");
$countryObj->initialize(@$_SERVER["REMOTE_ADDR"]);
$userCountryCode = $countryObj->CountryCode;