php ip 庫,php使用GeoIP庫例項

2021-10-25 22:34:51 字數 2652 閱讀 8813

php使用geoip庫例項

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

php官方的geoip需要配置php環境,載入geoip.dll庫,並在php.ini中指定geoip庫位址。

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

一、geoip資料庫

細分到國家:geolite country

細分到城市:geolite city

二、php官方geoip.dll庫

修改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" ) . "n";

print_r( geoip_record_by_name( "8.8.8.8" ) );

echo geoip_country_name_by_name( "61.139.2.69" ). "n";

print_r( geoip_record_by_name( "61.139.2.69" ) );

三、maxmind官方php檔案函式庫

文件和示例:

修改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") . "t" . geoip_country_name_by_addr($gi, "8.8.8.8") . "n";

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

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");

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,"61.139.2.69");

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);

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

php 資料庫 使用php訪問mysql

連線 code php 下面使用了函式庫mysqli,所以需要將php.ini檔案中的extension php.mysqli 開啟 這裡採用了物件導向的語法,當然,mysqli也支援面向過程的語法 db new mysqli localhost root tograce books 以上 例項化了...

php中使用資料庫

1.連線資料庫 dbhandle mysql connect localhost 使用者名稱 密碼 連線mysql資料庫 selected mysql select db 表名 dbhandle 選擇庫 2.查詢資料 result mysql query select from 表名 where 條...

php 資料庫併發,PHP使用資料庫的併發問題

在並行系統中併發問題永遠不可忽視。儘管php語言原生沒有提供多執行緒機制,那並不意味著所有的操作都是執行緒安全的。尤其是在操作諸如訂單 支付等業務系統中,更需要注意運算元據庫的併發問題。接下來我通過乙個案例分析一下php運算元據庫時併發問題的處理問題。首先,我們有這樣一張資料表 mysql sele...