ไลบรารี libcurl ที่สร้างโดย Daniel Stenberg ซึ่งขับเคลื่อนโดย PHP ช่วยให้คุณสามารถเชื่อมต่อและสื่อสารกับเซิร์ฟเวอร์ที่หลากหลายโดยใช้โปรโตคอลประเภทต่างๆ
ปัจจุบัน libcurl รองรับโปรโตคอล http, https, ftp, gopher, telnet, dict, file และ ldap libcurl ยังรองรับการตรวจสอบสิทธิ์ HTTPS, HTTP POST, HTTP PUT, การอัปโหลด FTP (ซึ่งสามารถทำได้ผ่านส่วนขยาย FTP ของ PHP), การอัปโหลดตามแบบฟอร์ม HTTP, พร็อกซี, คุกกี้ และการตรวจสอบสิทธิ์ชื่อผู้ใช้ + รหัสผ่าน
วิธีใช้ cURL เพื่อใช้งานคำขอ Get และ Post ใน PHP
ฟังก์ชั่นเหล่านี้ถูกนำมาใช้ใน PHP 4.0.2
หากต้องการใช้ฟังก์ชัน cURL ของ PHP คุณต้องติดตั้งแพ็คเกจ libcurl
PHP ต้องใช้ libcurl 7.0.2-beta หรือสูงกว่า หากต้องการใช้ cURL กับ PHP 4.2.3 คุณต้องติดตั้ง libcurl เวอร์ชัน 7.9.0 ขึ้นไป เริ่มต้นด้วย PHP 4.3.0 คุณต้องติดตั้ง libcurl เวอร์ชัน 7.9.0 หรือสูงกว่า เริ่มต้นด้วย PHP 5.0.0 คุณต้องติดตั้ง libcurl เวอร์ชัน 7.10.5 ขึ้นไป
หากต้องการใช้การสนับสนุน cURL ของ PHP คุณต้องเพิ่มตัวเลือก --with-curl[=DIR] เมื่อคอมไพล์ PHP DIR คือเส้นทางไดเรกทอรีที่มี lib และรวม จะต้องมีโฟลเดอร์ชื่อ curl ที่มี easy.h และ curl.h ในไดเร็กทอรีรวม ควรมีไฟล์ชื่อ libcurl.a อยู่ในโฟลเดอร์ lib สำหรับ PHP 4.3.0 คุณสามารถกำหนดค่า --with-curlwrappers เพื่อให้ cURL ใช้สตรีม URL
หมายเหตุ: ผู้ใช้ Win32 ควรทราบว่าเมื่อใช้โมดูลนี้ในสภาพแวดล้อม Windows จะต้องวาง libeay32.dll และ ssleay32.dll ในไดเร็กทอรีที่รวมอยู่ในตัวแปรสภาพแวดล้อม PATH อย่าใช้ libcurl.dll จากเว็บไซต์ cURL
ส่วนขยายนี้กำหนดทรัพยากร 2 รายการ ได้แก่ ตัวจัดการ cURL และตัวจัดการแบตช์ cURL
ต่อไปนี้ประกอบด้วยรายการฟังก์ชัน PHP cURL:
การทำงาน | อธิบาย |
---|---|
curl_close() | ปิดเซสชัน cURL |
curl_copy_handle() | คัดลอกหมายเลขอ้างอิง cURL และตัวเลือกทั้งหมด |
curl_errno() | ส่งกลับหมายเลขข้อผิดพลาดล่าสุด |
curl_error() | ส่งกลับสตริงที่ป้องกันข้อผิดพลาดล่าสุดสำหรับเซสชันปัจจุบัน |
curl_escape() | ส่งคืน URL สตริงที่ใช้ Escape ที่เข้ารหัสสำหรับสตริงที่กำหนด |
curl_exec() | ดำเนินการเซสชัน cURL |
curl_file_create() | สร้างวัตถุ CURLFile |
curl_getinfo() | รับข้อมูลเกี่ยวกับการจัดการทรัพยากรการเชื่อมต่อ cURL |
curl_init() | เริ่มต้นเซสชัน cURL |
curl_multi_add_handle() | เพิ่มตัวจัดการขดแยกต่างหากให้กับเซสชันแบทช์ของขด |
curl_multi_close() | ปิดชุดของตัวจัดการ cURL |
curl_multi_exec() | เรียกใช้การเชื่อมต่อย่อยของหมายเลขอ้างอิง cURL ปัจจุบัน |
curl_multi_getcontent() | หากตั้งค่า CURLOPT_RETURNTRANSFER ไว้ จะส่งกลับสตรีมข้อความของเอาต์พุตที่ดึงข้อมูลมา |
curl_multi_info_read() | รับข้อมูลการขนส่งที่เกี่ยวข้องของ cURL ที่แยกวิเคราะห์ในปัจจุบัน |
curl_multi_init() | ส่งคืนหมายเลขอ้างอิงแบทช์ cURL ใหม่ |
curl_multi_remove_handle() | เอาทรัพยากรหมายเลขอ้างอิงออกจากทรัพยากรหมายเลขอ้างอิงชุดงานขด |
curl_multi_select() | รอการเชื่อมต่อที่ใช้งานอยู่ในแบตช์ cURL ทั้งหมด |
curl_multi_setopt() | ตั้งค่าตัวเลือกการถ่ายโอน cURL เป็นกลุ่ม |
curl_multi_strerror() | ส่งกลับข้อความสตริงที่อธิบายรหัสข้อผิดพลาด |
curl_pause() | หยุดชั่วคราวและดำเนินการเชื่อมต่อต่อ |
curl_รีเซ็ต() | รีเซ็ตตัวเลือกทั้งหมดสำหรับตัวจัดการเซสชันของ libcurl |
curl_setopt_array() | ตั้งค่าตัวเลือกสำหรับเซสชันการถ่ายโอน cURL เป็นกลุ่ม |
curl_setopt() | ตั้งค่าตัวเลือกการขนส่ง cURL |
curl_share_close() | ปิดหมายเลขอ้างอิงที่ใช้ร่วมกันของ cURL |
curl_share_init() | เตรียมใช้งานหมายเลขอ้างอิงที่ใช้ร่วมกันของ cURL |
curl_share_setopt() | ตั้งค่าตัวเลือกการขนส่ง cURL สำหรับหมายเลขอ้างอิงที่ใช้ร่วมกัน |
curl_strerror() | ส่งกลับคำอธิบายสตริงของรหัสข้อผิดพลาด |
curl_unescape() | ถอดรหัสสตริงที่เข้ารหัส URL |
curl_รุ่น() | รับข้อมูลเวอร์ชัน cURL |