當前位置:才華齋>計算機>php語言>

php使用GeoIP庫例項

php語言 閱讀(2.45W)

需要注意的是maxmind是geoip資料庫的提供方,就跟隨本站小編一起去了解下吧,想了解更多相關資訊請持續關注我們應屆畢業生考試網!同時也提供了很多語言的sample和api說明文件。

php使用GeoIP庫例項

比如php,和php的p庫是有很大區別的,包含使用方式,介面函式。

php官方的geoip需要配置php環境,載入庫,並在中指定GEOIP庫地址。

maxmind提供一系列 和 對環境無依賴,只要支援php,直接require後即可使用。

  一、GEOIP資料庫

細分到國家:GeoLite Country

細分到城市:GeoLite City

  二、php官方庫

下載dll

修改,啟用geoip庫:

複製程式碼 程式碼如下:extension=php_

追加geoip段,指定資料庫位置:

複製程式碼 程式碼如下:[geoip]

om_directory = "D:php5.3geo"

測試程式碼

注意中使用的 即 ,用的時候注意看提示

複製程式碼 程式碼如下:

echo geoip_country_name_by_name( "" ) . "n";

print_r( geoip_record_by_name( "" ) );

echo geoip_country_name_by_name( "" ). "n";

print_r( geoip_record_by_name( "" ) );

  三、MaxMind官方php檔案函式庫

文件和示例:

修改maxmind示例中 和 sample_ 中 路徑為你自己的路徑

同一目錄用 “./” 或 “./” 即可。

  詳細到國家

複製程式碼 程式碼如下:

include("");

$gi = geoip_open( "./", GEOIP_STANDARD );

echo geoip_country_code_by_addr($gi, "") . "t" . geoip_country_name_by_addr($gi, "") . "n";

echo geoip_country_code_by_addr($gi, "") . "t" . geoip_country_name_by_addr($gi, "") . "n";

geoip_close($gi);

  詳細到國家城市

複製程式碼 程式碼如下:

include("");

include("");

$gi = geoip_open("./",GEOIP_STANDARD);

$record = geoip_record_by_addr($gi,"");

print $record->country_code . " " . $record->country_code3 . " " . $record->country_name . "n";

print $record->region . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "n";

print $record->city . "n";

print $record->postal_code . "n";

print $record->latitude . "n";

print $record->longitude . "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,"");

print $record->country_code . " " . $record->country_code3 . " " . $record->country_name . "n";

print $record->region . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "n";

print $record->city . "n";

print $record->postal_code . "n";

print $record->latitude . "n";

print $record->longitude . "n";

print $record->metro_code . "n";

print $record->area_code . "n";

print $record->continent_code . "n";

geoip_close($gi);

看自己開發環境和具體情況決定用哪種</p