ได้ 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 อาจมีประโยชน์