Skip to content
บริษัท โค๊ดบี จำกัด บริษัท โค๊ดบี จำกัด
  • หน้าแรก
  • สมัครงาน
    • ร่วมงานกับเรา
    • นักศึกษาฝึกงาน
  • บริการของเรา
    • บริการรับทำเว็บไซต์
    • บริการทำแอพพลิเคชั่น
  • เครื่องมือ
    • ย่อลิงค์ ฟรี
    • ทำ Bio Link
    • ดาวน์โหลดวีดีโอ Tiktok ไม่มีลายน้ำ
    • รวมเครื่องมือ ฟรี
  • เกี่ยวกับเรา
  • ติดต่อเรา
Category Website Development

cURL คืออะไร วิธีดึงรายละเอียดและทำระบบแชร์เว็บไซต์

Author codebee Published on May 16, 2017 8 min read
curl-คืออะไร
curl-คืออะไร

cURL คืออะไร วิธีดึงรายละเอียดและทำระบบแชร์เว็บไซต์



cURL คืออะไร วิธีดึงรายละเอียดและทำระบบแชร์เว็บไซต์

cURL ย่อมาจากคำว่า Client for URLs เป็นคำสั่ง command line ที่ถูกเพิ่มเข้ามาในภาษา PHP ตั้งแต่เวอร์ชั่น 4.0.2 เป็นต้นมา จุดประสงค์หลักของคำสั่ง cURL ที่ถูกเพิ่มเข้ามาในภาษา PHP ก็เพื่อให้นักพัฒนาสามารถเขียนคำสั่งเพื่อติดต่อสื่อสารกับ Server ( Window, Linux ) และ Prototal ( http,https,ftp ) ที่มีความแตกต่างกัน


ขั้นตอนการทำงานหลักของคำสั่ง cURL

  • 1. เริ่มต้นสร้าง curl resource ด้วยฟังก์ชัน curl_init()
  • 2. กำหนด option ให้ curl resource ด้วยฟังก์ชัน curl_setopt() ตัวอย่างเช่น
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, 0); // curl resource ตามด้วยชื่อ option และ value
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  • 3. สั่งเริ่มการทำงาน Execute curl resource ด้วยฟังก์ชัน curl_exec()
  • 4. หลังจากได้ข้อมูลแล้วสั่งปิดการทำงานด้วยฟังก์ชัน curl_close()

โดยหลัก ๆ แล้วขั้นตอนการทำงานก็จะมีเท่านี้ จะเยอะหน่อยคือการกำหนด option ให้กับ curl resource ก่อนทำการ execute ซึ่งก็ขึ้นอยู่กับเงื่อนไขในการใช้งานของแต่ละงาน ข้อมูลจะถูกรีเทิร์นกลับมาหลังจากคำสั่ง execute

ตัวอย่างการใช้ cURL ในการดึงข้อมูลเว็บไซต์ทำระบบแชร์

เราสามารถใช้คำสั่ง cURL ในการดึงข้อมูลของเว็บไซต์เช่น title,description,image เราจะได้ข้อมูลคล้าย ๆ กับที่เวลาเราแชร์ลิงค์ใน facebook timeline โดยสามารถเขียนคำสั่งได้ดังนี้

function file_get_contents_curl($url) // ฟังก์ชั่นเริ่มต้น กำหนดค่า และสั่งทำงาน curl
{
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);

    $data = curl_exec($ch);
    curl_close($ch);

    return $data;
}

$html = file_get_contents_curl("https://www.domain.com"); //โหลดข้อมูล html จากเว็บไซต์ทั่วไป
$doc = new DOMDocument(); 
@$doc->loadHTML($html); // ข้อมูลที่ได้จะเป็น html ใช้คำสั่ง loadHTML เพื่อแปลงให้อยู่ในรูปแบบ xml

จากโค๊ดด้านบนเราได้ใช้คำสั่ง cURL เพื่อดึงหน้าเว็บไซต์ทั้งหน้ามาแสดง ถ้าเราลอง echo $html จะเห็นว่าไฟล์นี้ได้ดึงหน้าเว็บไซต์มาเหมือน copy มาเลย แต่จุดประสงค์ของเราคือต้องการเอาข้อมูลบางส่วนบนหน้าเว็บไซต์เท่านั้น จึงจัดการกับข้อมูลที่เป็น html ให้อยู่ในรูปแบบไฟล์เอกสาร xml เพื่อจะเข้าถึงข้อมูล tag ต่าง ๆ ในหน้าเว็บไซต์ได้ง่ายขึ้น


หากไม่มีอะไรผิดพลาดและเราสามารถโหลดข้อมูลจากเว็บไซต์นั้น ๆ ได้ เราก็จะสามารถเข้าถึง tag ต่าง ๆ ในเว็บไซต์นั้นได้ผ่านคำสั่งของคลาส DOMDocument ได้ โดยสามารถเขียนคำสั่งได้ดังนี้

$nodes = $doc->getElementsByTagName('title');
$title = $nodes->item(0)->nodeValue;
$metas = $doc->getElementsByTagName('meta');

for ($i = 0; $i < $metas->length; $i++)
{
    $meta = $metas->item($i);
    if($meta->getAttribute('name') == 'description')
        $description = $meta->getAttribute('content');
    if($meta->getAttribute('name') == 'keywords')
        $keywords = $meta->getAttribute('content');
}

echo "Title: $title". '<br/><br/>';
echo "Description: $description". '<br/><br/>';
echo "Keywords: $keywords";

หลังจากได้ข้อมูลทั้ง title, description, image, keyword เราก็สามารถนำไปทำระบบแชร์ได้ไม่ต่างจากการแชร์ลิงค์ในไทม์ไลน์ของเฟสบุ้คแล้วครับ


สามารถดูข้อมูล option ทั้งหมดของคำสั่ง cURL ได้ที่เว็บไซต์ http://php.net/manual/en/ref.curl.php

Post Views: 189
curl resourcecURL คืออะไรcurl_initget image websiteget web titleget website dataphp share website dataphp ดึงข้อมูลหน้าเว็บphp ทำระบบแชร์คำสั่ง cURLดึง title เว็บดึงหน้าเว็บไซต์ทำระบบแชร์ทำระบบแชร์เหมือน facebookโหลดหน้าเว้บ

ค้นหา




You may also like

Category Website Development

Stripe Webhook รวม Event พื้นฐานที่จำเป็น

Published on May 14, 2025 6 min read
Category Website Development

วิธีตั้งค่า Cloudflare ร่วมกับโดเมน Godaddy

Published on March 23, 2025 5 min read
Category Website Development

7 เหตุผลที่ Official Website จำเป็นสำหรับธุรกิจยุคใหม่

Published on February 28, 2025 12 min read
Category Website Development

วิธีตั้งค่า Cloudflare ป้องกัน Botnet ที่อันตราย

Published on September 30, 2024 9 min read
© 2025 codebee.co.th