0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 5323 Просмотров
*

ria_andy

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Коллеги, подскажите как реализовать определение города пользователя по IP?

Нужно просто вывод названия города в шапке сайта.
*

arma

  • Завсегдатай
  • 1635
  • 76 / 2
*

ria_andy

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
http://joomlaforum.ru/index.php?topic=64830.0

Это бредовый топик ) + ни одна ссылка не работает
*

ria_andy

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
http://ipgeobase.ru/

Спасибо, а что с этим делать? как на сайт воткнуть?
*

Arkadiy

  • Гуру
  • 5315
  • 462 / 2
  • Крепитесь, други.
Сделать модуль, или поискать готовый, по моему я его где-то здесь видел.
*

aspidy

  • Завсегдатай
  • 1009
  • 55 / 1
  • Миграция joomla 1.0-1.5-2.5
Спасибо, а что с этим делать? как на сайт воткнуть?
http://ross.vc/?p=204
Мелкий ремонт. skype poisk-plus
*

Ilhom666

  • Завсегдатай
  • 1385
  • 184 / 0
*

nikolaevevge

  • Новичок
  • 2
  • 0 / 0
 ::) Библиотека для определение города, страны, региона пользователя по IP (Joomla, WordPress, Bitrix - cms распознаётся автоматически)

Полностью бесплатная!

Версия Joomla теоретически любая!!! А не только 2.5. Bitrix, Wordpress аналогично.

 Написал библиотеку для получения гео-информации по IP-адресу, причем единую для Joomla, WordPress и Bitrix(по битриксу сразу же отдельно оговорюсь, что уже после того как написал узнал что в Bitrix есть встроенный функционал, по ссылке на статью про это тоже будет).
Библиотека запрашивает по API информацию о необходимом IP адресе у удалённого сервера, назад получает стек адресов к которым относится IP, так же страну, регион и город(если удалось определить), и сохраняет эту информацию с базе данных Вашего сайта, при этом используя функционал указанных Выше CMS для взаимодействия с базой данных. Сохраняется информация с целью сокращения времени работы, а так же для избежания создания излишних запросов к удалённому серверу. Соединение с базой данных для указанных CMS прописывать не нужно, поскольку библиотека распознаёт CMS и использует те же настройки соединения с базой данных что и CMS. Кроме того библиотека способна самостоятельно подключить фреймворк, если работа с библиотекой производиться из стороннего php файла.

Подводя итог такой подход позволяет:
 :D 1) легко установить библиотеку для Joomla, Wordpress, Bitrix просто разместив один файл на сервере и подключив его через require_once;
 :D 2) не требует отдельно прописывать соединение с базой данных, поскольку библиотека самостоятельно определит CMS и способ подключения к базе данных;
 :D 3) таблица в базе данных создаётся автоматически, поэтому Вам не потребуется заходить в phpMyAdmin при установке;
 :D 4) не перегружается удалённый сервер предоставляющий информацию по API, так как после обращения информация о стеке IP-адресов сохраняется в Вашей базе данных и в следующий раз информация берётся из её;
 8) 5) сокращается вероятность долгой загрузки сайта, если удалённый сервер предоставляющий информацию по API будет висеть(поскольку я не как тот менеджер, который говорит только о плюсах, отмечу: подвисать Ваш сайт в случаи если удалённый api сервер висит всё же может, поскольку если информация о IP не была получена она не будет сохранена в базу и при следующем использовании библиотеки опять будет производиться попытка загрузить с удалённого сервера, тем не менее о этом скорее всего отдельно напишу решена ли ситуация и как, в целом планируется ряд доработок, поэтому лучше читать актуальную информацию с страницы библиотеки, здесь же я рассказываю о бете версии);
 :D 6) не требуется размещение значительного количества информации о всех IP адресах в Вашей базе данных, информацию в которой к тому же требовалось бы обновлять - информация запрашивается с удалённого сервера только для IP-адресов информация о которых Вам нужна

На момент написания данного ответа в качестве удалённого сервера предоставляющего данные использовался ipGeoBase но есть планы использовать иной(актуальную информацию лучше читать на странице библиотеки)

Немного о настройках

на момент написания данного ответа на форуме:
 ^-^ 1) настраивается имя таблицы в которой будут храниться данные(к нему так же в начале будет добавлен префикс cms, имя указывается без префикса)
 ^-^ 2) время хранения информации о IP адресе в базе данных

пример использования(работает для указанных CMS без подключения файлов ферймворка - он распознаётся и подключается атвоматически)

<?php
require_once "nikolaevevgeGeoIp.php";// если библиотека в той же директории, что и вызываемый php файл
var_dump(nikolaevevgeGeoIp::getInfoByIp("88.85.172.134"));


Библиотека и актуальная информация тут: http://blog.ivru.net/?id=82
« Последнее редактирование: 05.12.2019, 16:12:23 от nikolaevevge »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться