ได้ 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 เป็นไฟล์ตัวอย่างการใช้งาน และข้อมูลของค่าต่างๆ ทั้งหมด
ตัวอย่างการเอามาประยุกต์ใช้งาน
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <?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 อาจมีประโยชน์