GeoIP的使用 - PHP版
生活随笔
收集整理的這篇文章主要介紹了
GeoIP的使用 - PHP版
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
轉(zhuǎn)載地址:http://sjolzy.cn/GeoIP-PHP-version-use.html
GeoIP介紹:
什么是GepIP ?
所謂GeoIP,就是通過來訪者的IP, 定位他的經(jīng)緯度,國家/地區(qū),省市,甚至街道等位置信息。這里面的技術(shù)不算難題,關(guān)鍵在于有個精準(zhǔn) 的數(shù)據(jù)庫。有了準(zhǔn)確的數(shù)據(jù)源就奇貨可居賺點(diǎn)小錢,可是發(fā)揚(yáng)合作精神,集體貢獻(xiàn)眾人享用是我們追求的。
GeoIP如 何使用?
首先我們需要數(shù)據(jù)信息,所以先獲取一個免費(fèi)的數(shù)據(jù)庫:http://sjolzy.cn/php/GeoIP/bak/GeoIP.dat.gz ,接著解壓得到:GeoIP.dat, 然后就是對數(shù)據(jù)文件的按需操作,這邊范例使用的是PHP。
GeoIP + PHP的使用
方法一:
下載 GeoIP 的 PHP 文件geoip.inc,保存為 geoip.inc.php
http://sjolzy.cn/php/GeoIP/bak/geoip.inc
php使用代碼
include("geoip.inc.php");
// 打開數(shù)據(jù)文件?
$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 ";
// 關(guān)閉文件?
geoip_close($gi);
注:在本地測試的話因 為$_SERVER['REMOTE_ADDR']和$_SERVER['REMOTE_ADDR']可能是127.0.0.1,所 以輸出的內(nèi)容為空。可以自己帶入IP測試
方法二:
把 GeoIP 安裝成 PHP 擴(kuò)展?
yum install GeoIP GeoIP-data GeoIP-devel
下載 GeoIP 數(shù)據(jù)庫?
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 手冊里的 GeoIP 部份函數(shù)了
http://cn.php.net/manual/en/book.geoip.php
總結(jié)
以上是生活随笔為你收集整理的GeoIP的使用 - PHP版的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么样的显卡能支持 4K 分辨率输出?
- 下一篇: 最受用的人生格言