我使用一些PHP脚本来检测美国IP,例如Geoplugin,hostip,......但它会使我的页面变慢。那么,你能告诉我如何使用IP范围来检测美国国家吗?谢谢!
答案 0 :(得分:0)
您可以使用此代码找到
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}"));
$country_code = $details->country;
你可以从这个网址获取php国家/地区数组: - https://gist.github.com/DHS/1340150#comment-1244239并保存到数据库中。现在您只需要一个查询来根据国家/地区代码获取国家/地区名称。
答案 1 :(得分:0)
ipinfo.io是一个好主意! ,现在可以用JQuery来处理用户了!
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'];
}
echo "
<script type=\"application/javascript\">
$.ajax({
url:'http://ipinfo.io/".$ip."/json',
type:\"get\",
dataType:\"json\",
cache:\"false\",
success:function(result,status,xhr){
alert(result.country);
}
});
</script>
";