![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Treod |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 21.11.2007 Репутация: нет Всего: 2 |
Добрый день!
Встала задача определения города пользователя на сайте. Как реализовать такую задачу максимально просто, не устанавливая дополнительных библиотек на сервер? |
|||
|
||||
| mark2011 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 28.6.2011 Репутация: 2 Всего: 2 |
Ну вообще есть библиотека от MaxMind, но если Вы так желаете, можно извратиться:
1. По какому-нибудь сервису определяем IP, которые относятся к тому или иному городу. Запариваемся. Понимаем, что это геркулесова задача. 2. Создаём таблицу:
3. Записываем туда все полученные на п.1 данные. 4. На каждом заходе определяем город путём запроса в базу данных. |
|||
|
||||
| Treod |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 21.11.2007 Репутация: нет Всего: 2 |
Как в MaxMind использовать русские города?
|
|||
|
||||
| Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 41 Всего: 60 |
Я подобную задачу делал только у меня были данные от КНБ список доступных ip и подсетей провайдеров.
дальше я whois проверял эти ip и их диапазоны На основе полученных данных делал карту в массиве IP начало диапазона хранится в формате ip2long-ip2long-город в цикле делал перебор входит Ip в интервал или нет. PS задача не благодарная рекомендую поставить модуль GEOIP или юзать их базу. -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
http://habrahabr.ru/post/135596/ - тут ссылка на базу городов по всему миру.
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Wowa |
|
|||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 1 Всего: 290 |
Советую поставить nginx и использовать бинарную базу от maxmind, т.е. бинарная будет работать намного быстрее.
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Wowa, Возможно, вы не умеете их готовить?
http://blog.jcole.us/2007/11/24/on-efficie...-and-mysql-gis/ Довольно древняя статья, в которой исследуется метод работы с geoip базой. Сам метод, применяемый в статье уже эффективен и оригинален, а Update 1 с еще одним способом в добавок еще и понятен, прост и еще более эффективен. Это я про то, что совет использовать nginx и бинарные базы - не всегда применим. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 41 Всего: 60 |
Особенно если это требуется только один раз определить откуда пользователь
-------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |