http://www.neo.com.tw/archives/000980.html
ip2nation 已經把 IP 所在的國別整理成 SQL 語法,只要下載下來放進資料庫即可:
http://www.ip2nation.com/ip2nation/Download
放進資料庫之後,要使用的話必須把 IP 轉為數字進行查詢,ip2nation 有提供 PHP 的範例:
$server = ”; // MySQL hostname
$username = ”; // MySQL username
$password = ”; // MySQL password
$dbname = ”; // MySQL db name$db = mysql_connect($server, $username, $password) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());$sql = ‘SELECT c.country
FROM ip2nationCountries c, ip2nation i
WHERE
i.ip < INET_ATON(“‘.$_SERVER[‘REMOTE_ADDR’].'”)
AND c.code = i.country
ORDER BY i.ip DESC LIMIT 0,1′;list($countryName) = mysql_fetch_row(mysql_query($sql));
// Output full country name
echo $countryName;
(使用 MySQL 的 INET_ATON() 函式把 IP 轉為數字) 如果不是用 MySQL 就必須自行做 IP 轉換的計算,計算的方式以 261.230.14.128 為例:
261×2563 + 230×2562 + 14×256 + 128
PHP 的轉換範例:
$ip = split (“\.”, “261.230.14.128”);
echo $ip[3] + $ip[2]*256 + $ip[1]*256*256 + $ip[0]*256*256*256;
ip2nation 網址:
http://www.ip2nation.com/