米国に住む人々に米国のスタイルを適用し、英国に住む人々に英国のスタイルを適用するにはどうすればよいですか?
たとえば、サイト内のユーザーの場所に応じてフラグを変更したいと考えています。
米国に住む人々に米国のスタイルを適用し、英国に住む人々に英国のスタイルを適用するにはどうすればよいですか?
たとえば、サイト内のユーザーの場所に応じてフラグを変更したいと考えています。
まず、訪問者の IP アドレスを見つける必要があります。$_SERVER['REMOTE_ADDR'] グローバル変数になります。次に、この IP を IP から国へのマッピングのデータベースと照合して、IP の国コードを取得できます。
この方法は 100% 正確ではありませんが、ほとんどの用途には「十分」であり、さらに重要なことに高速です。大量のトラフィックが予想される場合は、ルックアップの繰り返しを避けるために、国コードを Cookie にキャッシュすることをお勧めします。
そのようなマッピングの 1 つがここにあります: http://software77.net/cgi-bin/ip-country/geo-ip.pl
IP を受け取り、バンドルされたマッピング ファイルを使用して国コードを返す PHP クラス: http://www.phpclasses.org/browse/package/2363.html
これは地理位置情報と呼ばれます: IP アドレスに基づいてユーザーの位置を見つけるために使用できるサービスは何ですか?
ユーザーの位置情報が本当に必要な場合、キーワードはgeolocationです。
ただし、目的のために、チェックするだけ$_SERVER["ACCEPT_LANGUAGE"]
です。構文は少し複雑です。幸いなことに、事実上すべてのクライアントが、すぐに行うべきことを実行し、希望する場所を注文します。そのため、サポートしているすべてのロケール(「en-us」など)について計算し、false になるロケールを破棄して最低のものを使用します。stripos
($_SERVER["ACCEPT_LANGUAGE"], $lang)
$lang