php GeoIP的使用教程
更新時(shí)間:2011年03月09日 22:28:02 作者:
GeoIP介紹:什么是GepIP ?所謂GeoIP,就是通過(guò)來(lái)訪者的IP, 定位他的經(jīng)緯度,國(guó)家/地區(qū),省市,甚至街道等位置信息。
GeoIP介紹:
什么是GepIP ?
所謂GeoIP,就是通過(guò)來(lái)訪者的IP, 定位他的經(jīng)緯度,國(guó)家/地區(qū),省市,甚至街道等位置信息。這里面的技術(shù)不算難題,關(guān)鍵在于有個(gè)精準(zhǔn) 的數(shù)據(jù)庫(kù)。有了準(zhǔn)確的數(shù)據(jù)源就奇貨可居賺點(diǎn)小錢(qián),可是發(fā)揚(yáng)合作精神,集體貢獻(xiàn)眾人享用是我們追求的。
GeoIP如何使用?
首先我們需要數(shù)據(jù)信息,所以先獲取一個(gè)免費(fèi)的數(shù)據(jù)庫(kù):GeoIP.dat.gz ,接著解壓得到:GeoIP.dat, 然后就是對(duì)數(shù)據(jù)文件的按需操作,這邊范例使用的是PHP。
GeoIP + PHP的使用
方法一:
下載 GeoIP 的 PHP 文件geoip.inc。打包下載
include("geoip.inc.php");
// 打開(kāi)數(shù)據(jù)文件
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
// 獲取國(guó)家代碼
$country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
echo "Your country code is: $country_code ";
// 獲取國(guó)家名稱(chēng)
$country_name = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']);
echo "Your country name is: $country_name ";
// 關(guān)閉文件
geoip_close($gi);
注:在本地測(cè)試的話因 為$_SERVER['REMOTE_ADDR']和$_SERVER['REMOTE_ADDR']可能是127.0.0.1,所 以輸出的內(nèi)容為空??梢宰约簬隝P測(cè)試
方法二:
把 GeoIP 安裝成 PHP 擴(kuò)展
yum install GeoIP GeoIP-data GeoIP-devel
下載 GeoIP 數(shù)據(jù)庫(kù)
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gzip -d GeoLiteCity.dat.gz
mv GeoLiteCity.dat /var/lib/GeoIP/GeoIPCity.dat
下載 GeoIP 的 PECL 擴(kuò)展
下載地址 http://pecl.php.net/package/geoip
wget -c http://pecl.php.net/get/geoip-1.0.7.tgz
tar -zxvf geoip-1.0.7.tgz
安 裝 GeoIP 的 PECL 擴(kuò)展
cd geoip-1.0.7
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-geoip
make
make install
在 php.ini 里加上
extension=geoip.so
接著重啟一下 php 就行了
現(xiàn)在,你可以使用 php 手冊(cè)里的 GeoIP 部份函數(shù)了
什么是GepIP ?
所謂GeoIP,就是通過(guò)來(lái)訪者的IP, 定位他的經(jīng)緯度,國(guó)家/地區(qū),省市,甚至街道等位置信息。這里面的技術(shù)不算難題,關(guān)鍵在于有個(gè)精準(zhǔn) 的數(shù)據(jù)庫(kù)。有了準(zhǔn)確的數(shù)據(jù)源就奇貨可居賺點(diǎn)小錢(qián),可是發(fā)揚(yáng)合作精神,集體貢獻(xiàn)眾人享用是我們追求的。
GeoIP如何使用?
首先我們需要數(shù)據(jù)信息,所以先獲取一個(gè)免費(fèi)的數(shù)據(jù)庫(kù):GeoIP.dat.gz ,接著解壓得到:GeoIP.dat, 然后就是對(duì)數(shù)據(jù)文件的按需操作,這邊范例使用的是PHP。
GeoIP + PHP的使用
方法一:
下載 GeoIP 的 PHP 文件geoip.inc。打包下載
復(fù)制代碼 代碼如下:
include("geoip.inc.php");
// 打開(kāi)數(shù)據(jù)文件
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
// 獲取國(guó)家代碼
$country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
echo "Your country code is: $country_code ";
// 獲取國(guó)家名稱(chēng)
$country_name = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']);
echo "Your country name is: $country_name ";
// 關(guān)閉文件
geoip_close($gi);
注:在本地測(cè)試的話因 為$_SERVER['REMOTE_ADDR']和$_SERVER['REMOTE_ADDR']可能是127.0.0.1,所 以輸出的內(nèi)容為空??梢宰约簬隝P測(cè)試
方法二:
把 GeoIP 安裝成 PHP 擴(kuò)展
yum install GeoIP GeoIP-data GeoIP-devel
下載 GeoIP 數(shù)據(jù)庫(kù)
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gzip -d GeoLiteCity.dat.gz
mv GeoLiteCity.dat /var/lib/GeoIP/GeoIPCity.dat
下載 GeoIP 的 PECL 擴(kuò)展
下載地址 http://pecl.php.net/package/geoip
wget -c http://pecl.php.net/get/geoip-1.0.7.tgz
tar -zxvf geoip-1.0.7.tgz
安 裝 GeoIP 的 PECL 擴(kuò)展
cd geoip-1.0.7
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-geoip
make
make install
在 php.ini 里加上
extension=geoip.so
接著重啟一下 php 就行了
現(xiàn)在,你可以使用 php 手冊(cè)里的 GeoIP 部份函數(shù)了
您可能感興趣的文章:
- php使用GeoIP庫(kù)實(shí)例
- PHP安裝GeoIP擴(kuò)展根據(jù)IP獲取地理位置及計(jì)算距離的方法
- PHP計(jì)算百度地圖兩個(gè)GPS坐標(biāo)之間距離的方法
- php實(shí)現(xiàn)計(jì)算百度地圖坐標(biāo)之間距離的方法
- php+js實(shí)現(xiàn)百度地圖多點(diǎn)標(biāo)注的方法
- php使用google地圖應(yīng)用實(shí)例
- 定位地理位置PHP判斷員工打卡簽到經(jīng)緯度是否在打卡之內(nèi)
- php讀取qqwry.dat ip地址定位文件的類(lèi)實(shí)例代碼
- PHP進(jìn)階學(xué)習(xí)之Geo的地圖定位算法詳解
相關(guān)文章
如何在舊的PHP系統(tǒng)中使用PHP 5.3之后的庫(kù)
這篇文章主要介紹了如何在舊的PHP系統(tǒng)中使用PHP 5.3之后的庫(kù),需要的朋友可以參考下2015-12-12
PHP數(shù)組與對(duì)象之間使用遞歸實(shí)現(xiàn)轉(zhuǎn)換的方法
這篇文章主要介紹了PHP數(shù)組與對(duì)象之間使用遞歸實(shí)現(xiàn)轉(zhuǎn)換的方法,涉及php數(shù)組與對(duì)象的相關(guān)操作技巧,需要的朋友可以參考下2015-06-06
php實(shí)現(xiàn)網(wǎng)站文件批量壓縮下載功能
這篇文章主要介紹了php實(shí)現(xiàn)網(wǎng)站文件批量壓縮下載功能,文章提供了一個(gè)將文件壓縮為zip格式的示例,感興趣的小伙伴們可以參考一下2015-10-10
php結(jié)合ACCESS的跨庫(kù)查詢(xún)功能
有時(shí)候我們?cè)陂_(kāi)發(fā)一些小程序或簡(jiǎn)單功能的管理系統(tǒng),又沒(méi)有mysql數(shù)據(jù)庫(kù)的情況下,就可以使用access了,另外有時(shí)需要在兩個(gè)或三個(gè)數(shù)據(jù)庫(kù)的表中也可通過(guò)ACCESS的跨庫(kù)查詢(xún)功能實(shí)現(xiàn)2015-06-06
php鏈?zhǔn)讲僮鞯膶?shí)現(xiàn)方式分析
這篇文章主要介紹了php鏈?zhǔn)讲僮鞯膶?shí)現(xiàn)方式,結(jié)合實(shí)例形式對(duì)比分析了常規(guī)調(diào)用與鏈?zhǔn)秸{(diào)用操作的相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-08-08
安裝PHP可能遇到的問(wèn)題“無(wú)法載入mysql擴(kuò)展” 的解決方法
安裝PHP可能遇到的問(wèn)題“無(wú)法載入mysql擴(kuò)展” 的解決方法...2007-04-04

