Фрилансеры предложат решение вашей задачи уже через несколько минут!
Публикация заказа не займет много времени.
23 дня назад
Дмитрий
33 года, Украина
9 лет в сервисе
Был онлайн 20 минут назад
357 отзывов
23 дня назад

Можно использовать 



Пакет
https://github.com/maxmind/GeoIP2-php
php composer.phar require geoip2/geoip2:~2.0
или
composer require geoip2/geoip2:~2.0 - находясь в корневой папке приложения

затем скачал бесплатную базу стран с их офф. сайта

https://dev.maxmind.com/geoip/geoip2/geolite2/
Ну и использование примерно такое должно быть:

use GeoIp2\Database\Reader;

$ip = $_SERVER['REMOTE_ADDR'];

try {
$geoReader = new Reader(Yii::getAlias('@app/components/GeoIP2/GeoLite2-Country.mmdb'));
$record = $geoReader->country($ip);
$country_code = $record->country->isoCode;
} catch (\Exception $e) { //or \InvalidArgumentException
$country_code = null;
}




можно и без try .. catch попробовать $geoReader = new Reader(Yii::getAlias('@app/components/GeoIP2/GeoLite2-Country.mmdb'));
$record = $geoReader->country($_SERVER['REMOTE_ADDR']);
$country_code = $record->country->isoCode;





@app/components/GeoIP2/GeoLite2-Country.mmdb - это путь по которому лежит БД geoip2 - это файл с расширением .mmdb

И так же сравнить со вторым способом путем парсинга  через апи

https://api.2ip.ua/geo.json?ip=54.36.148.77
https://api.2ip.ua/provider.json?ip=54.36.148.77
https://api.2ip.ua/hosting.json?site=54.36.148.77

здесь ограничение 1000 запросов в стуки через апи.

Сделать выводы по поводу точности первого и второго метода.
Список ip предоставлю для тестов.

Ваша заявка к этому проекту

Войдите в аккаунт, чтобы добавить заявку и открыть данные заказчика.

Заявки фрилансеров

Леонид Рыбаков
48 лет, Россия
5 лет в сервисе
Был онлайн 22 дня назад
24 дня назад

Похожие заказы

Базу данных в web страницы

Есть база данных от продавца в формате csv: У каждого товара ( в строку) следующие столбцы (данные) Category Name NAME DESCRIPTION PRICE Offers BUY URL AVAILABILITY (yes/no) KEYWORDS IMAGEURL Нужен

WAP чат

Нужно реализовать wap чат на php. Основные функции: -приватные сообщения -игнор лист -список "кто в чате" на главной странице -несколько статусов участников в зависимости от количества отправленных сообщений -несколько статусов администрато...

Внесение небольших изменений в perl-скрипт

Скрипт на perl. Выполняет импорт данных из xml файла в базу mysql и также скачивает с другого сайта картинки (используется wget; ссылки на картинки указаны в xml файле). Cкрипт запускается из командой строки ($ script.pl file.xml). Необходимые измене...

Надо написать на php + mySQL каталог сайтов и небольшая админка

Надо написать на php + mySQL каталог сайтов и небольшая админка для этого каталога (интегрировать в дизайн сайта и устанавливать на сервере будет другой чел). 1. каталог сайта с линками с возможностью добавлять и удалять разделы 1.1 Глубина 3 - Ос

Переделка движка + чистка кода

Требуется переписать движок сайта . Сроки: ASAP, желательно уложиться в две-три недели. Данная работа является первичной переделкой системы, есть потребность в большом объеме последующих работ на постоянной основе, так что непременным условием являет...

Управление данными механизма почтового рассыльщика (редактирование таблиц)

Функции: 1. управление списком рассылок (добавление, поиск, изменение, удаление), в т.ч. управление списком email в этой рассылке (массовая регистрация, массовое удаление), управление фильтроами для редактируемой рассылки 2. добавление юзера в рассыл...

Управление данными механизма почтового рассыльщика (редактирование таблиц)

Функции: 1. управление списком рассылок (добавление, поиск, изменение, удаление), в т.ч. управление списком email в этой рассылке (массовая регистрация, массовое удаление), управление фильтроами для редактируемой рассылки 2. добавление юзера в расс

Экспорт данных из MySQL в формат FannieMae 320 (.FNM)

Необходим скрипт для экспорта данных из таблицы MySQL (Credit Application Form), в формат FannieMae 3.20 (FNM). Описание формата данных FNM можно найти в приложенном файле (PDF). Если вы можете написать этот скрипт, срочно свяжитесь по ICQ (предпочит...

Написать скрипт

СКРИПТ: Скрипт партнерской программы. Пользователь регистрируется на сайте, при регистрации вводит данные: 1.ФИО* 2.Паспорт (номер, серия)* 3. Адрес 4. Телфон 5. E-mail* 6.Ник или ФИО (выводится на сайте)* 7. Логин* 8. Пароль* 9. Фотографи

Скрипт поискового робота с аналитическим выводом данных

Скрипт поискового робота с аналитическим выводом данных Настройка сборщика на WIN32 вывод в скрипт PHP.