ホームページ > バックエンド開発 > PHPチュートリアル > php_PHP チュートリアルでの GeoIP ライブラリの使用例

php_PHP チュートリアルでの GeoIP ライブラリの使用例

WBOY
リリース: 2016-07-13 10:26:10
オリジナル
1178 人が閲覧しました

maxmind は geoip データベースのプロバイダーであることに注意してください
また、多くの言語でサンプルと API ドキュメントも提供されます。
たとえば、PHP は、使用方法やインターフェイス関数も含めて、PHP の geoip ライブラリとは大きく異なります。
PHP の公式 geoip は、PHP 環境を構成し、geoip.dll ライブラリをロードし、php.ini で GEOIP ライブラリのアドレスを指定する必要があります。
maxmind は、php をサポートしている限り、環境に依存しない一連の .inc および .php ファイルを提供します。これらは、required 後に直接使用できます。

1. GEOIP データベース

http://dev.maxmind.com/geoip/geolite
国別: GeoLite Country
都市に分割: GeoLite City

2. PHP 公式 geoip.dll ライブラリ

DLL をダウンロード http://windows.php.net/downloads/pecl/releases/geoip/1.0.8/
php.ini を変更して geoip ライブラリを有効にします:

コードをコピーします コードは次のとおりです:
extension=php_geoip.dll

geoip セグメントを追加し、データベースの場所を指定します:
コードをコピーします コードは次のとおりです:
[geoip]
geoip.custom_directory = "D:php5.3geo"

テストコード

geoip.dll で使用される GeoIPCity.dat (GeoLiteCity.dat) に注意してください。使用するときはプロンプトに注意してください。

コードをコピーします コードは次のとおりです:
echo geoip_country_name_by_name( "8.8.8.8" ) . print_r( geoip_record_by_name( "8.8.8.8" ) );
echo geoip_country_name_by_name( "61.139.2.69" )。 print_r( geoip_record_by_name( "61.139.2.69" ) );


3. MaxMind公式PHPファイル関数ライブラリ

ドキュメントと例: http://dev.maxmind.com/geoip/downloadable maxmind サンプルのsample.phpとsample_city.phpのGeoIP.dat/GeoLiteCity.datパスを独自のパスに変更します

同じディレクトリの場合は、「./GeoIP.dat」または「./GeoLiteCity.dat」を使用します。

国に詳しく



コードをコピーします

コードは次のとおりです: include("geoip.inc");
$gi = geoip_open( "./GeoIP.dat", GEOIP_STANDARD );
echo geoip_country_code_by_addr($gi, "8.8.8.8") . geoip_country_name_by_addr($gi, "8.8.8.8") . echo geoip_country_code_by_addr($gi, "61.139.2.69") . geoip_country_name_by_addr($gi, "61.139.2.69") ;
geoip_close($gi);



国と都市の詳細

コードをコピーします

コードは次のとおりです: include("geoipcity.inc"); include("geoipregionvars.php");
$gi = geoip_open("./GeoLiteCity.dat",GEOIP_STANDARD);

$record = geoip_record_by_addr($gi,"8.8.8.8");
$record->country_code . " " . $record->country_name . $record->region . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region] ;
print $record->city . "n";
$record->postal_code を印刷します。 "n";
$record->緯度を印刷します。
print $record->longitude . "n";
print $record->metro_code . "n";
$レコード->エリアコードを印刷します。 "n";
$record->continent_code を印刷します。 "n";

「n-----n」を印刷します;
$record = geoip_record_by_addr($gi,"61.139.2.69");
$record->country_code . " " . $record->country_name . $record->region . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region] ;
print $record->city . "n";
$record->postal_code を印刷します。 "n";
$record->緯度を印刷します。
print $record->longitude . "n";
print $record->metro_code . "n";
$レコード->エリアコードを印刷します。 "n";
$record->continent_code を印刷します。 "n";
geoip_close($gi);



開発環境や特定の状況に応じてどちらを使用するかを決定してください


http://www.bkjia.com/PHPjc/824763.html

www.bkjia.com

tru​​e

技術記事 maxmind は geoip データベースのプロバイダーであり、多くの言語でサンプルと API ドキュメントも提供していることに注意してください。 たとえば、php は、... の使用を含め、php の geoip ライブラリとは大きく異なります。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート