2016-07-26 10 views
2

Ich benutzte GeoIp, mit reinen PHP-Codes .. aber GeoIP2 werden Namespaced und etc, und in diesem Moment konnte ich nicht herausfinden, wie man das verwendet .. Ich habe GeoLite2-Country.mmdb heruntergeladen, und jetzt, wie man den Ländernamen für IP bekommt, dh 123.123.123.123.Maxmind GeoIP2 Tutorial (Anleitung)?

p.s. Ich nicht GIT/COMPOSER oder etc ..

Antwort

3

wie ich es tat: sagen wir mal, einen Ordner erstellen namens „My_Folder“ und im Inneren:

1) Ordner erstellen GeoIp2 und darin den gesamten Inhalt, von diesem "SRC" -Ordner (download).
2) put MaxMind Ordner (download, von "SRC" Ordner).
3) Platz, d. H. GeoLite2-Country.mmdb (download).

dann in My_Folder eine example.php-Datei erstellen und diesen Code setzen:

$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 

P. S. Weitere Beispiele finden Sie unter: https://github.com/maxmind/GeoIP2-php

+0

MaxMind verteilt auch eine Phar-Datei mit den Abhängigkeiten, die einfacher geladen werden können, ohne Composer zu verwenden. –

+0

@oschwald bitte, wenn du kannst, schreibe eine Antwort mit Beispielen, viele Noobs brauchen das. –