Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中获取用户所在的大陆/国家或位置?_Php_Wordpress_Geolocation - Fatal编程技术网

在php中获取用户所在的大陆/国家或位置?

在php中获取用户所在的大陆/国家或位置?,php,wordpress,geolocation,Php,Wordpress,Geolocation,是否有可能从用户访问站点的位置获取大陆? 我知道我可以像这样获得浏览器的语言: <?php $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); switch ($lang){ case "fr": //echo "PAGE FR"; include("index_fr.php");//include check session FR break; case "it":

是否有可能从用户访问站点的位置获取大陆? 我知道我可以像这样获得浏览器的语言:

<?php
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
switch ($lang){
    case "fr":
        //echo "PAGE FR";
        include("index_fr.php");//include check session FR
        break;
    case "it":
        //echo "PAGE IT";
        include("index_it.php");
        break;
    case "en":
        //echo "PAGE EN";
        include("index_en.php");
        break;        
    default:
        //echo "PAGE EN - Setting Default";
        include("index_en.php");//include EN in all other cases of different lang detection
        break;
}
?>

但是这只会返回主机名,所以除了访问该站点的用户之外,有没有其他方法可以获得相同的结果?或者甚至可以这样做?

您可以根据用户在$\u服务器[“REMOTE\u ADDR”]中的IP地址获取地理位置数据库,并从中确定城市/国家

MaxMind在此处提供免费城市/国家数据库:

我建议从一开始就使用Maxmind GeoLite2数据库。它拥有知识共享许可证,如果需要更完整的IP覆盖,您可以稍后升级到商业GeoIP2数据库。该数据库中提供了国家和大陆代码

我在这里介绍如何编译扩展,以及如何在PHP中使用mmdb数据库:


谢谢,在你把它发到这里之前的两秒钟,我真的发现了…:)
AF  Africa
AN  Antarctica
AS  Asia
EU  Europe
NA  North america
OC  Oceania
SA  South america