Проверка местоположения пользователя и затем применение определенного стиля? - PullRequest
1 голос
/ 06 марта 2009

Как вы можете применить американский стиль для людей в США и британский стиль для людей в Великобритании?

Например, я хочу изменить флаг в соответствии с местоположением пользователя на моем сайте.

Ответы [ 3 ]

4 голосов
/ 06 марта 2009

Во-первых, вам нужно найти IP-адрес вашего посетителя. Он будет в глобальной переменной $ _SERVER ['REMOTE_ADDR']. Затем вы можете сравнить этот IP с базой данных сопоставлений IP и страны, чтобы получить код страны для IP.

Этот метод не на 100% точен, но он "достаточно хорош" для большинства применений, и, что более важно, он быстрый. Возможно, вы захотите кэшировать код страны в файле cookie, чтобы избежать повторного поиска, если вы ожидаете большой трафик.

Одно из таких сопоставлений можно найти здесь: http://software77.net/cgi-bin/ip-country/geo-ip.pl

PHP-класс, который берет IP и возвращает код страны, используя файл связанного пакета: http://www.phpclasses.org/browse/package/2363.html

1 голос
/ 06 марта 2009

Если вы действительно хотите указать местоположение пользователя, используйте ключевое слово геолокация .

Для вашей цели, однако, вы можете просто проверить $_SERVER["ACCEPT_LANGUAGE"]. Синтаксис немного сложен. К счастью, практически каждый клиент делает то, что должно было быть сделано сразу же, и заказывает предпочтительные места. Итак, вычислите stripos($_SERVER["ACCEPT_LANGUAGE"], $lang) для всех локалей $lang (например, "en-us"), которые вы поддерживаете, и выберите самые низкие, отбрасывающие локали, которые дают false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...