PHP:如何使用IP范围查找美国国家/地区?

时间:2014-12-30 05:33:16

标签: php ip range

我使用一些PHP脚本来检测美国IP,例如Geoplugin,hostip,......但它会使我的页面变慢。那么,你能告诉我如何使用IP范围来检测美国国家吗?谢谢!

2 个答案:

答案 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>
        ";