ใช้ file_get_contents() ไม่ได้ ก็ลองใช้ cURL แทนดูสิ


ตัวอย่างงานนี้ ก็คือเราจะไปเอารายละเอียด IP ผู้ใช้ที่เข้ามาในเว็บไซต์ว่า IP นี้มีรายละเอียดอย่างไร อยู่ประเทศไหน อะไรยังไงบ้าง ก็ไปหาๆ โค้ดจากต่างประเทศ ส่วนมากก็จะให้ใช้ file_get_contents() ซึ่งมันต้องไปเปิด allow_url_fopen ที่ php.ini ของเซิร์ฟเวอร์นี่สิ

ด้วยความขี้เกียจ ก็ไปหาวิธีอื่นว่ามีไหม จึงไปเจอว่า ใช่ cURL ก็ได้นะ แต่โค้ดมันจะดูไม่ค่อยรู้เรื่องหน่อย เคนสรุปให้เอาไปลองดูกันเองเลยละกัน ไม่อธิบายนะ งงเหมือนกัน แต่มันใช้ได้ 555

// ไปดึงข้อมูลจากเว็บ ipinfo.io
$getloc = json_decode($this->getContents("http://ipinfo.io/"));

// ปริ้นท์ทุกอย่างออกมาดู
print_r($getloc);

// เลือกสิ่งที่ต้องการจะเอามาใช้งาน
$customer_country = strtolower(trim($getloc->country));

function getContents($url)
{
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,1);
    curl_setopt($ch, CURLOPT_HEADER,0);  // DO NOT RETURN HTTP HEADERS
    curl_setopt($ch, CURLOPT_RETURNTRANSFER  ,1);  // RETURN THE CONTENTS
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT  ,0);
    $Rec_Data = curl_exec($ch);
    return $Rec_Data;
}
0 0 votes
Article Rating
0
Would love your thoughts, please comment.x
()
x