Учебное пособие по Maxmind GeoIP2 (How-to)?

Я использовал GeoIp, с чистыми PHP-кодами... но GeoIp2 стал пространством имен и т. Д., И в этот момент я не мог выяснить, как использовать это... я скачал GeoLite2-Country.mmdbа теперь как узнать название страны по IP, т.е. 123.123.123.123,

PS У меня нет GIT/ Композитор или т. д..

1 ответ

Как я это сделал: скажем, создайте папку с именем " My_Folder " и внутри нее:

1) создать папку GeoIp2 и поместите в него содержимое этой папки "SRC" ( скачать).
2) поставить MaxMind папка ( скачать, из папки "SRC").
3) место т.е. GeoLite2-Country.mmdb ( скачать).

затем в My_Folder создайте example.php файл и положить этот код:

$user_ip='123.123.123.123';

spl_autoload_register('func888'); function func888($class){ include_once(str_replace(array('/','\\'), DIRECTORY_SEPARATOR, dirname(__file__)."/$class.php")) ;}
use GeoIp2\Database\Reader; 
//you can do it for "city" too.. just everywhere change phrase "country" with "city".
try{
    $reader = new Reader(dirname(__file__)."/GeoLite2-Country.mmdb");
    $record = $reader->country($user_ip);
    $reader->close();
    $country_name =  $record->raw['country']['names']['en'];
} catch ( GeoIp2\Exception\AddressNotFoundException $e ){    $country_name = 'not_found';  }

echo $country_name;
// RESULTS -------------- > China

ps другие примеры найдены по адресу: https://github.com/maxmind/GeoIP2-php

Другие вопросы по тегам