phpアプリケーションGeoIPライブラリのサンプルチュートリアル
maxmind は geoip データベースのプロバイダーであることに注意してください。
また、多くの言語でサンプルと API ドキュメントも提供されます。
たとえば、PHP は、使用方法やインターフェイス関数も含めて、PHP の geoip ライブラリとは大きく異なります。
PHP の公式 geoip は、PHP 環境を構成し、geoip.dll ライブラリをロードし、php.ini で GEOIP ライブラリのアドレスを指定する必要があります。
maxmind は、php をサポートしている限り、環境に依存しない一連の .inc および .php ファイルを提供します。これらは、required 後に直接使用できます。 (php GeoIP ライブラリのエントリの例)
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 ライブラリを有効にします。
geoip セグメントを追加し、データベースの場所を指定します。
-
- [geoip]
- geoip.custom_directory = "D:php5.3geo"
コードをコピー
テストコード
geoip.dll で使用される GeoIPCity.dat は GeoLiteCity.dat であることに注意してください。使用するときはプロンプトに注意してください。
- echo geoip_country_name_by_name( "8.8.8.8" ) . "n";
- 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」を使用します。
1、国に詳細
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") . "n";
- echo geoip_country_code_by_addr($gi, "61.139.2.69") . geoip_country_name_by_addr($gi, "61.139.2.69") 。
- geoip_close($gi);
-
-
- コードをコピー
2、詳細を国と都市にコピーします
include("geoipcity.inc"); include("geoipregionvars.php");- $gi = geoip_open("./GeoLiteCity.dat",GEOIP_STANDARD);
-
- $record = geoip_record_by_addr($ gi,"8.8.8.8");
- print $record->country_code . " " . $record->country_name . . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "n";
- print $record->postal_code " n";
- print $record->緯度 . "n";
- print $record->経度 . "n";
- print $record->metro_code . "n";
- print $record->area_code . "n";
- print $record->continent_code . "n";
-
- print "n-----n";
- $record = geoip_record_by_addr($gi,"61.139.2.69");
- print $レコード->国コード . " " . $レコード-> 地域名 . $GEOIP_REGION_NAME . country_code][$record->region] . "n";
- print $record->city . "n";
- print $record->postal_code . "n";
- print $record->latitude 。 "n";
- print $record->経度 . "n";
- print $record->metro_code . "n";
- print $record-> continent_code . "n";
- geoip_close($gi);
-
-
- コードをコピー
-
-
- 上記のコードを使用する場合は、開発環境と特定の条件に基づいてどちらを使用するかを決定できます。
-
|