ホームページ >バックエンド開発 >PHPチュートリアル >PHP アプリケーション GeoIP ライブラリのサンプル チュートリアル

PHP アプリケーション GeoIP ライブラリのサンプル チュートリアル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-07-25 09:12:01925ブラウズ

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 ライブラリを有効にします。

  1. extension=php_geoip.dll
コードをコピーします

geoip セグメントを追加し、データベースの場所を指定します。

  1. [geoip]
  2. geoip.custom_directory = "D:php5.3geo"
コードをコピー

テストコード geoip.dll で使用される GeoIPCity.dat は GeoLiteCity.dat であることに注意してください。使用するときはプロンプトに注意してください。

  1. echo geoip_country_name_by_name( "8.8.8.8" ) . "n";
  2. print_r( geoip_record_by_name( "8.8.8.8" ) );
  3. 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 );
  1. echo geoip_country_code_by_addr($gi, "8.8.8.8") 。 geoip_country_name_by_addr($gi, "8.8.8.8") . "n";
  2. echo geoip_country_code_by_addr($gi, "61.139.2.69") . geoip_country_name_by_addr($gi, "61.139.2.69") 。
  3. geoip_close($gi);
  4. コードをコピー
2、詳細を国と都市にコピーします

include("geoipcity.inc");
    include("geoipregionvars.php");
  1. $gi = geoip_open("./GeoLiteCity.dat",GEOIP_STANDARD);
  2. $record = geoip_record_by_addr($ gi,"8.8.8.8");
  3. print $record->country_code . " " . $record->country_name . . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "n";
  4. print $record->postal_code " n";
  5. print $record->緯度 . "n";
  6. print $record->経度 . "n";
  7. print $record->metro_code . "n";
  8. print $record->area_code . "n";
  9. print $record->continent_code . "n";
  10. print "n-----n";
  11. $record = geoip_record_by_addr($gi,"61.139.2.69");
  12. print $レコード->国コード . " " . $レコード-> 地域名 . $GEOIP_REGION_NAME . country_code][$record->region] . "n";
  13. print $record->city . "n";
  14. print $record->postal_code . "n";
  15. print $record->latitude 。 "n";
  16. print $record->経度 . "n";
  17. print $record->metro_code . "n";
  18. print $record-> continent_code . "n";
  19. geoip_close($gi);
  20. コードをコピー
  21. 上記のコードを使用する場合は、開発環境と特定の条件に基づいてどちらを使用するかを決定できます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。