2016-07-26 9 views
2

私はGeoIpを純粋なPHPコードで使用しました。 しかしGeoIp2は名前空間になり、この時点で私はそれを使用する方法を見つけることができませんでした。私はGeoLite2-Country.mmdbをダウンロードしています。すなわち123.123.123.123です。Maxmind GeoIP2チュートリアル(ハウツー)

p.s.コンテンツ

1)フォルダGeoIp2を作成し、その中に入れて:、のは言わせて「My_Folder」という名前のフォルダを作成し、その中に:私はそれをやった方法

答えて

3

.. GIT/COMPOSERかなどを持っていけませんこの「SRC」フォルダ(download)の
2)MaxMindフォルダー(download、 "SRC"フォルダーから)を入れてください。例えば、GeoLite2-Country.mmdbdownload)である。

その後、My_Folderexample.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 

P.S.を他の例:https://github.com/maxmind/GeoIP2-php

+0

MaxMindは、依存関係を含むPharファイルも配布します.Pyarファイルは、Composerを使用せずに、より簡単にロードすることができます。 –

+0

@oschwaldお願いします。可能であれば、例を使って答えを書いてください。多くのnoobsがそれを必要としています。 –

関連する問題