- Сообщений: 986
- Спасибо получено: 146
Как создать и настроить свой веб-сервер на VDS (05 сен 2024)
Осенью самое время заняться установкой и тюнингом своего веб-сервера. Не правда ли?
MaxMind: IP Geolocation
- serge
- Автор темы
- Не в сети
- Модератор
Less
Больше
7 года 9 мес. назад - 7 года 9 мес. назад #1
от serge
А я смогу! - А поглядим! - А я упрямый!
serge создал тему: MaxMind: IP Geolocation
В комментариях к материалу
Снова Maxmind, снова погодные информеры, и снова ajax
поступил интересный вопрос, касающийся бесплатного легального использования баз Maxmind. Спешу привести затребованный API PHP.
Качаем geoip2.phar со странички по первой ссылке, а по второй (прямая ссылка на свежий релиз) качаем GeoLite2 City, MaxMind DB binary, gzipped базу (которую не забываем распаковать, иначе вряд ли заработает):
Ну и пых-код выглядит соответственно так, как показано далее. Обратите внимание, пути к geoip2.phar и GeoLite2-City.mmdb должны соответствовать реальным. При необходимости все то же самое можно сделать и через composer, подробности на GitHub :
В результате получаем следующую примерно информацию, которой можем распорядиться как угодно. Только базу MaxMind не забываем теперь обновлять раз в месяц:
Качаем geoip2.phar со странички по первой ссылке, а по второй (прямая ссылка на свежий релиз) качаем GeoLite2 City, MaxMind DB binary, gzipped базу (которую не забываем распаковать, иначе вряд ли заработает):
Code:
https://github.com/maxmind/GeoIP2-php/releases
http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz
Ну и пых-код выглядит соответственно так, как показано далее. Обратите внимание, пути к geoip2.phar и GeoLite2-City.mmdb должны соответствовать реальным. При необходимости все то же самое можно сделать и через composer, подробности на GitHub :
Code:
<?php
require 'geoip2.phar';
use GeoIp2\Database\Reader;
$reader = new Reader('GeoLite2-City.mmdb');
$ip = $_SERVER['REMOTE_ADDR'];
$record = $reader->city($ip);
print($record->country->isoCode . "\n");
print($record->country->name . "\n");
print($record->country->names['zh-CN'] . "\n");
print($record->mostSpecificSubdivision->name . "\n");
print($record->mostSpecificSubdivision->isoCode . "\n");
print($record->city->name . "\n");
print($record->postal->code . "\n");
print($record->location->latitude . "\n");
print($record->location->longitude . "\n");
В результате получаем следующую примерно информацию, которой можем распорядиться как угодно. Только базу MaxMind не забываем теперь обновлять раз в месяц:
Code:
RU Russia 俄罗斯 St.-Petersburg SPE Saint Petersburg 190020 59.8944 30.2642
А я смогу! - А поглядим! - А я упрямый!
Последнее редактирование: 7 года 9 мес. назад пользователем serge.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- miha
- Не в сети
- Осваиваюсь на форуме
Less
Больше
- Сообщений: 29
- Спасибо получено: 0
7 года 9 мес. назад #2
от miha
miha ответил в теме MaxMind: IP Geolocation
Какая база лучше определяет геолокацию по ip? Maxmind или Sypexgeo ?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- rashid-ad-din
- Не в сети
- Захожу иногда
Less
Больше
- Сообщений: 44
- Спасибо получено: 3
7 года 9 мес. назад #3
от rashid-ad-din
Думаю, все бесплатные базы определяют примерно одинаково...
rashid-ad-din ответил в теме MaxMind: IP Geolocation
miha пишет: Какая база лучше определяет геолокацию по ip? Maxmind или Sypexgeo ?
Думаю, все бесплатные базы определяют примерно одинаково...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Прохожий
- Не в сети
- Давно я тут
- Да, это я...
Less
Больше
- Сообщений: 112
- Спасибо получено: 3
7 года 9 мес. назад #4
от Прохожий
Прохожий ответил в теме MaxMind: IP Geolocation
Размер базы sypex geo ровно в четыре раза меньше чем размер GeoLite2Sity Maxmind. ЛОгично предположить, что Maxmind более подробно отдает данные по ip ?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Aleksej
- Не в сети
- Модератор
7 года 9 мес. назад #5
от Aleksej
Aleksej ответил в теме MaxMind: IP Geolocation
Прикрутил Maxmind GeoLite2-City к
jWeather by ip
, погодному информеру для Joomla-сайта... теперь у всех джумлаводов есть возможность беспристрастно сравнить Supex Geo и MaxMind (в бесплатных, свободно распространяемых реализациях). Версия модуля заведомо проходная, постараюсь в феврале допилить и опубликовать наконец v.1.0.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.