Ipgeobase.php
ipgeobase.ru PHP library
Install / Use
/learn @rossvs/Ipgeobase.phpREADME
UPDATE ipgeobase.ru закрыт в 2021 году, репозиторий не актуален!
НАЗНАЧЕНИЕ
Этот скрипт предназначен для использования текстовых баз сервиса гео-локации ipgeobase.ru на PHP. Ipgeobase.ru предоставляет подробную информацию по IP-адресу: город, регион, федеральный округ, координаты - по городам России и Украины. По этим странам сервис работает точнее MaxMind GeoIP: на тестовой выборке в 30000 IP Ipgeobase смог определить регион в 98,6% случаев, а GeoIP - только в 78% (подробнее тут: http://ross.vc/?p=204).
ИСПОЛЬЗОВАНИЕ
- Скачайте архив http://ipgeobase.ru/cgi-bin/Archive.cgi (хорошая идея настроить переодическое скачивание с помощью wget).
- Распакуйте cidr_optim.txt и cities.txt.
- Подключите ipgeobase.php.
- Используйте класс IPGeoBase (см. example.php).
Скрипт работает в кодировке windows-1251, т.к. в этой кодировке поставляются файлы cities.txt и cidr_optim.txt. Если предполагается высокая частота обращений к скрипту, возможно, хорошей идеей будет разместить файлы cidr_optim.txt и cities.txt на RAM-диске или вообще отказаться от этой библиотеки и разместить базу в SQL РСУБД. Если не требуется определение зарубежных стран, можно удалить из базы диапазоны, не относящиеся к России, например, командой sed: sed -e '/RU/!d' cidr_optim.txt > cidr_optim_RU.txt
ИСПОЛЬЗОВАНИЕ СОВМЕСТНО С MAXMIND GEOIP
Чтобы получать информацию о городе и регионе по всем странам можно дополнительно использовать базу GeoLite сервиса MaxMind GeoIP.
-
Скачайте базу GeoLite http://dev.maxmind.com/geoip/legacy/geolite/
-
Скачайте библитеку PHP http://dev.maxmind.com/geoip/legacy/downloadable/
-
Пример функции для одновременной работы Ipgeobase и GeoIP дан в example-geoip.php. Пример предполагает следующую структуру папок:
|_geoip папка API GeoIP |_cidr_optim.txt база диапазонов IP Ipgeobase |_cities.txt база городов Ipgeobase |_example-geoip.php файл примера |_geoipregionvars.ru.php перевод регионов на русский для GeoIP |_GeoLiteCity.dat база GeoIP |_ipgeobase.php класс IPGeoBase
КОНТАКТЫ
Владислав Росс vladislav.ross@gmail.com
Related Skills
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
