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

标签 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":
        //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;
}
?>

REF

我也知道有一些 php 函数调用 -> geoip_continent_code_by_name 如果传递一个带有主机名的字符串,它将返回我:

代码大陆名称

AF  Africa
AN  Antarctica
AS  Asia
EU  Europe
NA  North america
OC  Oceania
SA  South america

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

最佳答案

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

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

Intro to Maxmind GeoLite2 with Kohana PHP

enter image description here

关于php - 在 php 中获取用户的大洲/国家或位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18749866/

相关文章:

php - 有时可以连接到远程服务器,有时不能

php - 查询以获取关于其发票编号具有相同日期的所有行?

php - 如何让我的 Wordpress 插件接收数据并将其在 ajax/php 请求中中继到需要身份验证的远程服务器?

Android Webview - navigator.geolocation.getCurrentPosition 不工作

javascript - 特定国家/地区的地理自动完成

geolocation - 使用 Google Analytics 跟踪准确的地理位置并显示在 map 上

php - 有撇号时搜索不起作用

PHP - 只允许通过 AJAX 访问

javascript - 更改西类牙语网站的 HTML

PHP factor 30 从 Linux 到 Windows 的性能差异