ホームページ >バックエンド開発 >PHPチュートリアル >geoip+php の例: IP を介して国名とコードを取得する

geoip+php の例: IP を介して国名とコードを取得する

WBOY
WBOYオリジナル
2016-08-08 09:28:191191ブラウズ

GeoIP + PHPの使い方
方法1:
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 テストは自分で持ち込むことができます
方法 2:
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 を再起動するだけです (nginx+php の場合、apache+php を再起動する必要はありません)
これで、php マニュアルの GeoIP 関数の一部を使用できるようになります
http: //cn.php.net/manual/en/book.geoip.php

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

上記では、IP を介して国名とコードを取得する geoip+php の例を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。