首頁 > 後端開發 > php教程 > geoip+php範例:透過ip,取得國家名稱和程式碼

geoip+php範例:透過ip,取得國家名稱和程式碼

WBOY
發布: 2016-08-08 09:28:19
原創
1197 人瀏覽過

GeoIP + PHP的使用
方法一:
下載GeoIP 的PHP 檔案geoip.inc,保存為geoip.inc.php
http://sjolzy.cn/php/GeoIP/bak/geoip.inc

php使用程式碼

<?php
include("geoip.inc.php");
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
$country_code = geoip_country_code_by_addr($gi, $_SERVER[&#39;REMOTE_ADDR&#39;]);
$country_name = geoip_country_name_by_addr($gi, $_SERVER[&#39;REMOTE_ADDR&#39;]);
geoip_close($gi);

$jsonEcho = array();
$jsonEcho["error"] = 0;
$jsonEcho["country_code"] = $country_code;
$jsonEcho["country_name"] = $country_name;


function jsonp($object, $callback = &#39;callback&#39;) {
		if (!empty($_GET[$callback])) {
			header(&#39;Content-Type: application/x-javascript&#39;);
		} else {
						header(&#39;Content-Type: application/json&#39;);
		}
		return $_GET[$callback].&#39;(&#39;.json_encode($object).&#39;)&#39;;
}


echo jsonp($jsonEcho);

?>
登入後複製

註:在本地測試的話因為$_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/sdownload/geo .dat.gz
gzip -d GeoLiteCity.dat.gz
mv GeoLiteCity.dat /var/lib/GeoIP/GeoIPCity.dat
下載GeoIP 的PECL 擴充功能下載位址http://packclage
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.77
/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 就行了(nginx+php的情況,而apache+php就不用重啟了)
現在,你可以使用php 手冊裡的GeoIP 部份函數了
http://cn. php.net/manual/en/book.geoip.php

參考:http://blog.csdn.net/prince2270/article/details/4592753

以上就介紹了geoip+php範例:透過ip,取得國家名稱和程式碼,包含了方面的內容,希望對PHP教學有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板