ได้ idea จากคำถามในเว็บบอร์ด เลยเอามาแนะนำ php ip 2 country
สามารถเข้าไปศึกษาและดาวน์โหลด ไฟล์ได้ด้วยตัวเองที่
http://code.google.com/p/php-ip-2-country/
เป็น class php ที่เข้าเขียนไว้เรียบร้อยแล้ว สำหรับหา ว่า ip นั้นๆ ที่กำหนด มาจาก
ประเทศอะไร โดยจะเป็นการใช้งานเชื่อมต่อกับฐานข้อมูล
หลังจากทำการดาวน์โหลดไฟล์มาแล้ว
จะมีไฟล์ อยู่ 3 ไฟล์
คือ
1. ไฟล์ sql (ip_to_country.sql) ข้อมูลสำหรับค่า ip range กับประเทศ ให้ import ไฟล์นี้เข้าฐานข้อมูลไว้ใช้งาน
2. ไฟล์ php class (phpip2country.class.php)
3. ไฟล์ index.php เป็นไฟล์ตัวอย่างการใช้งาน และข้อมูลของค่าต่างๆ ทั้งหมด
ตัวอย่างการเอามาประยุกต์ใช้งาน
<?php
require("phpip2country/phpip2country.class.php");
$dbConfigArray = array(
'host' => 'localhost', //example host name
'port' => 3306, //3306 -default mysql port number
'dbName' => 'test', //example db name
'dbUserName' => 'root', //example user name
'dbUserPassword' => 'test', //example user password
'tableName' => 'ip_to_country', //example table name
);
// ฟังก์ชันสำหรับหา IP Address
function getIP(){
// ตรวจสอบ IP กรณีการใช้งาน share internet
if(!empty($_SERVER['HTTP_CLIENT_IP'])){
$ip=$_SERVER['HTTP_CLIENT_IP'];
}else{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
// การเรียกใช้ IP
$visitorIP = getIP();
$phpIp2Country = new phpIp2Country($visitorIP,$dbConfigArray);
// แสดงรายละเอียด ของ ip ของผู้ใช้งาน
echo "<pre>";
print_r($phpIp2Country->getInfo(IP_INFO));
echo "</pre>";
?>
สามารถนำรายละเอียดข้างต้น ไปประยุกต์ใช้งาน ตามต้องการ
เพิ่มเติม http://ip-to-country.webhosting.info/book/print/5 อาจมีประโยชน์