Net_GeoIPが無料で国名を割り出すことができるらしいのでそのやり方を軽くまとめます。
環境
Amaozn Linux
#pear というphpの拡張ができるコマンドやらを yum かなんかでインストールしてくる。 yum install pear #pearコマンド で Net_GeoIP とやらをインストールしてくる pear install Net_GeoIP #IPアドレスから国名を出すためのデータベースを引っ張ってくる #以下のURLから GeoLite Country とやらの欄のBinary / gzip のダウンロードからwgetかなんかで引っ張ってこれると思います http://dev.maxmind.com/geoip/legacy/geolite/ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz #解凍 gunzipコマンドがない場合は同様にyumかなんかで引っ張ってくるか同じようなコマンドを探せると思われます。 gunzip GeoIP.dat.gz
あとは PHP のスクリプト内でまずNET_GEOIPモジュールファイルを読み込んでデーターベースで参照するだけだと思われます
<?php $IP ="任意のIPアドレス" #モジュールファイル読み込み require_once("Net/GeoIP.php"); #データベースまでのパスを絶対パスで指定してあげる $geoip = Net_GeoIP::getInstance("hogehoge/GeoIP.dat"); #国名確認 $COUNTRY = $geoip->lookupCountryName("$IP"); echo "$COUNTRY"; ?>
これで国名が取得できてると思います。