Сервер Радиолюбителей Беларуси

18.03.2011 - Как определить страну пользователя?

Последнее время стало актуально географическое поведение сайтов. Т.е. скрипт сайта выбирает как себя вести в зависимости от местонахождения пришедшего пользователя.

Для подобной цели можно использовать, например, эту базу, но немногие знают, что можно воспользоваться возможностями, предоставленными сервисом www.maxmind.com.



Теперь меньше текста и перейду непосредственно к делу.
Для работы нам потребуется файл базы данных: скачать(обновляется примерно раз в начале месяца).
Файл скачиваете и распаковываете. Распакованный файл примет вид: GeoIP.dat, а для удобства я бы рекомендовал изменить его на geo_ip.dat. В директорию с этой базой поместим файл класса geo_ip.php(скачать)

Теперь о том, как с этим всем работать. В файле своего скрипта добавьте вначале include "geo_ip.php"; . Теперь, чтобы вызвать функцию используем форму: getcountry($ip, $id); , где $ip - IP-адрес клиента, $id - номер операции(зависит результат возвращаемых данных):
если 1 - вернёт двухбуквенный код, например, RU;
если 2 - функция вернёт название страны на латинице, например, Russia;
если 3 - функция вернёт картинку, например, Russia
если 4 - использовать лучше для администраторов, вернёт картинку и IP-адрес со ссылкой на Whois-сервис, например, Russia 80.93.62.0

Пример использования
Исходный код
Скачать всё одним махом
Опубликовано на сайте: http://amatar.by
Прямая ссылка: http://amatar.by/index.php?name=News&op=view&id=472