GeoIP介紹:
什麼是GepIP ?
所謂GeoIP,就是通過來訪者的IP, 定位他的經緯度,省/地區,省市,甚至街道等位置資訊。這裡面的技術不算難題,關鍵在於有個精準 的資料庫。有了準確的資料來源就奇貨可居賺點小錢,可是發揚合作精神,集體貢獻眾人享用是我們追求的。
GeoIP如何使用?
首先我們需要資料資訊,所以先擷取一個免費的資料庫:GeoIP.dat.gz ,接著解壓得到:GeoIP.dat, 然後就是對資料檔案的按需操作,這邊範例使用的是PHP。
GeoIP + PHP的使用
方法一:
下載 GeoIP 的 PHP 檔案geoip.inc。打包下載
複製代碼 代碼如下:include("geoip.inc.php");
// 開啟資料檔案
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
// 擷取國家代碼
$country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
echo "Your country code is: $country_code ";
// 擷取國家名稱
$country_name = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']);
echo "Your country name is: $country_name ";
// 關閉檔案
geoip_close($gi);
註:在本地測試的話因 為$_SERVER['REMOTE_ADDR']和$_SERVER['REMOTE_ADDR']可能是127.0.0.1,所 以輸出的內容為空白。可以自己帶入IP測試
方法二:
把 GeoIP 安裝成 PHP 擴充
yum install GeoIP GeoIP-data GeoIP-devel
下載 GeoIP 資料庫
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 擴充
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 擴充
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 就行了
現在,你可以使用 php 手冊裡的 GeoIP 部份函數了