3

ユーザーがサイトにアクセスしている場所から大陸を取得することは可能ですか? 私はこのようにブラウザの言語を取得できることを知っています:::

<?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;
}
?>

参照

また、何かphp関数呼び出しがあることも知っています-> geoip_continent_code_by_name ホスト名を含む文字列を渡すと、私が返されます:

コード 大陸名

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

しかし、これはホスト名のみを返すので、サイトにアクセスしているユーザー以外に同じ結果を得る方法はありますか? またはすることさえ可能ですか?

4

2 に答える 2

1

$_SERVER["REMOTE_ADDR"] のユーザーの IP アドレスに基づいて地理位置情報データベースを取得し、そこから都市/国を特定できます。

MaxMind は、無料の都市/国データベースを提供しています: http://dev.maxmind.com/geoip/geoip2/geolite2/

于 2013-09-11T20:03:21.007 に答える
1

最初は Maxmind GeoLite2 データベースを使用することをお勧めします。これにはクリエイティブ コモンズ ライセンスがあり、より完全な IP カバレッジが必要な場合は、後で商用 GeoIP2 データベースにアップグレードできます。国コードと大陸コードは、このデータベースで入手できます。

ここでは、拡張機能をコンパイルする方法と、PHP で mmdb データベースを使用する方法について説明します。

Kohana PHP を使用した Maxmind GeoLite2 の紹介

ここに画像の説明を入力

于 2014-03-10T21:49:20.150 に答える