curl_setopt — ตั้งค่าตัวเลือกสำหรับการเรียก CURL คำอธิบาย
bool curl_setopt (int ch, ตัวเลือกสตริง, ค่าผสม)
ฟังก์ชัน curl_setopt() จะตั้งค่าตัวเลือกสำหรับเซสชัน CURL พารามิเตอร์ตัวเลือกคือการตั้งค่าที่คุณต้องการ และค่าคือค่าที่กำหนดโดยตัวเลือกนี้
ค่าของตัวเลือกต่อไปนี้จะถูกใช้เป็นจำนวนเต็มยาว (ระบุไว้ในพารามิเตอร์ตัวเลือก):
*CURLOPT_INFILESIZE: เมื่อคุณอัปโหลดไฟล์ไปยังไซต์ระยะไกล ตัวเลือกนี้จะบอก PHP ขนาดของไฟล์ที่คุณอัปโหลด
*CURLOPT_VERBOSE: หากคุณต้องการให้ CURL รายงานทุกเหตุการณ์ที่ไม่คาดคิด ให้ตั้งค่าตัวเลือกนี้เป็นค่าที่ไม่ใช่ศูนย์
*CURLOPT_HEADER: หากคุณต้องการรวมส่วนหัวในเอาต์พุต ให้ตั้งค่าตัวเลือกนี้เป็นค่าที่ไม่ใช่ศูนย์
*CURLOPT_NOPROGRESS: หากคุณไม่ต้องการให้ PHP แสดงแถบความคืบหน้าสำหรับการถ่ายโอน CURL ให้ตั้งค่าตัวเลือกนี้เป็นค่าที่ไม่ใช่ศูนย์
หมายเหตุ: PHP จะตั้งค่าตัวเลือกนี้เป็นค่าที่ไม่ใช่ศูนย์โดยอัตโนมัติ คุณควรเปลี่ยนตัวเลือกนี้เพื่อวัตถุประสงค์ในการแก้ไขจุดบกพร่องเท่านั้น
*CURLOPT_NOBODY: หากคุณไม่ต้องการรวมส่วนเนื้อหาในเอาต์พุต ให้ตั้งค่าตัวเลือกนี้เป็นค่าที่ไม่ใช่ศูนย์
*CURLOPT_FAILONERROR: หากคุณต้องการให้ PHP ไม่แสดงข้อผิดพลาด (โค้ด HTTP ส่งกลับมากกว่าหรือเท่ากับ 300) เมื่อมีข้อผิดพลาดเกิดขึ้น ให้ตั้งค่าตัวเลือกนี้เป็นค่าที่ไม่ใช่ศูนย์ พฤติกรรมเริ่มต้นคือการส่งคืนเพจปกติและละเว้นโค้ด
*CURLOPT_UPLOAD: หากคุณต้องการให้ PHP เตรียมการอัปโหลด ให้ตั้งค่าตัวเลือกนี้เป็นค่าที่ไม่ใช่ศูนย์
*CURLOPT_POST: หากคุณต้องการให้ PHP ทำ HTTP POST ปกติ ให้ตั้งค่าตัวเลือกนี้เป็นค่าที่ไม่ใช่ศูนย์ POST นี้เป็นประเภท application/x-www-from-urlencoded ทั่วไป ซึ่งส่วนใหญ่จะใช้ในแบบฟอร์ม HTML
*CURLOPT_FTPLISTONLY: ตั้งค่าตัวเลือกนี้เป็นค่าที่ไม่ใช่ศูนย์ และ PHP จะแสดงรายการชื่อไดเร็กทอรีสำหรับ FTP
*CURLOPT_FTPAPPEND: ตั้งค่าตัวเลือกนี้เป็นค่าที่ไม่ใช่ศูนย์ และ PHP จะใช้ไฟล์ระยะไกลแทนการเขียนทับ
*CURLOPT_NETRC: ตั้งค่าตัวเลือกนี้เป็นค่าที่ไม่ใช่ศูนย์ จากนั้น PHP จะค้นหาชื่อผู้ใช้และรหัสผ่านของไซต์ระยะไกลที่คุณต้องการเชื่อมต่อในไฟล์ ~./netrc
*CURLOPT_FOLLOWLOCATION: ตั้งค่าตัวเลือกนี้เป็นส่วนหัวที่ไม่ใช่ศูนย์ (เช่น "Location: ") และเซิร์ฟเวอร์จะส่งส่วนหัวดังกล่าวโดยเป็นส่วนหนึ่งของส่วนหัว HTTP (โปรดทราบว่านี่เป็นการเรียกซ้ำ PHP จะส่งส่วนหัวเช่น "Location: ")
*CURLOPT_PUT: ตั้งค่าตัวเลือกนี้เป็นค่าที่ไม่ใช่ศูนย์เพื่ออัปโหลดไฟล์โดยใช้ HTTP หากต้องการอัปโหลดไฟล์นี้ ต้องตั้งค่าตัวเลือก CURLOPT_INFILE และ CURLOPT_INFILESIZE
*CURLOPT_MUTE: ตั้งค่าตัวเลือกนี้เป็นค่าที่ไม่ใช่ศูนย์ และ PHP จะปิดเสียงโดยสมบูรณ์สำหรับฟังก์ชัน CURL
*CURLOPT_TIMEOUT: ตั้งค่าจำนวนเต็มยาวเป็นจำนวนวินาทีสูงสุด
*CURLOPT_LOW_SPEED_LIMIT: ตั้งค่าจำนวนเต็มยาวเพื่อควบคุมจำนวนไบต์ที่ถูกส่ง
*CURLOPT_LOW_SPEED_TIME: ตั้งค่าจำนวนเต็มยาวเพื่อควบคุมจำนวนวินาทีในการส่งจำนวนไบต์ที่ระบุโดย CURLOPT_LOW_SPEED_LIMIT
*CURLOPT_RESUME_FROM: ส่งพารามิเตอร์แบบยาวที่มีที่อยู่ออฟเซ็ตไบต์ (แบบฟอร์มเริ่มต้นที่คุณต้องการถ่ายโอนไป)
*CURLOPT_SSLVERSION: ส่งพารามิเตอร์แบบยาวที่มีเวอร์ชัน SSL ตามค่าเริ่มต้น PHP จะทำงานอย่างหนักของตัวเอง เพื่อความปลอดภัยมากขึ้น คุณจะต้องตั้งค่าด้วยตนเอง
*CURLOPT_TIMECONDITION: ส่งพารามิเตอร์แบบยาวเพื่อระบุวิธีจัดการพารามิเตอร์ CURLOPT_TIMEVALUE คุณสามารถตั้งค่าพารามิเตอร์นี้เป็น TIMECOND_IFMODSINCE หรือ TIMECOND_ISUNMODSINCE นี่เป็นเพียงสำหรับ HTTP เท่านั้น
*CURLOPT_TIMEVALUE: ผ่านไปหลายวินาทีตั้งแต่ปี 1970-1-1 ถึงปัจจุบัน เวลานี้จะถูกใช้เป็นค่าที่ระบุโดยตัวเลือก CURLOPT_TIMEVALUE หรือตามค่าเริ่มต้น TIMECOND_IFMODSINCE
ค่าของตัวเลือกต่อไปนี้จะถือเป็นสตริง:
*CURLOPT_URL: นี่คือที่อยู่ URL ที่คุณต้องการดึงข้อมูลโดยใช้ PHP คุณยังสามารถตั้งค่าตัวเลือกนี้ระหว่างการเริ่มต้นด้วยฟังก์ชัน curl_init()
*CURLOPT_USERPWD: ส่งสตริงในรูปแบบ [ชื่อผู้ใช้]:[รหัสผ่าน] และใช้ PHP เพื่อเชื่อมต่อ
*CURLOPT_PROXYUSERPWD: ส่งสตริงในรูปแบบ [ชื่อผู้ใช้]:[รหัสผ่าน] เพื่อเชื่อมต่อกับพร็อกซี HTTP
*CURLOPT_RANGE: ผ่านช่วงที่คุณต้องการระบุ ควรอยู่ในรูปแบบ "XY" โดยไม่รวม X หรือ Y การถ่ายโอน HTTP ยังรองรับหลายช่วงเวลา โดยคั่นด้วยเครื่องหมายจุลภาค (XY, NM)
*CURLOPT_POSTFIELDS: ส่งสตริงที่มีข้อมูลทั้งหมดเป็นการดำเนินการ HTTP "POST"
*CURLOPT_REFERER: สตริงที่มีส่วนหัว "ผู้อ้างอิง" ในคำขอ HTTP
*CURLOPT_USERAGENT: สตริงที่มีส่วนหัว "user-agent" ในคำขอ HTTP
*CURLOPT_FTPPORT: ส่งที่อยู่ IP ที่มีที่อยู่ IP ที่ใช้โดยคำสั่ง ftp "POST" คำสั่ง POST นี้จะบอกเซิร์ฟเวอร์ระยะไกลให้เชื่อมต่อกับที่อยู่ IP ที่เราระบุ สตริงนี้อาจเป็นที่อยู่ IP ชื่อโฮสต์ ชื่ออินเทอร์เฟซเครือข่าย (ภายใต้ UNIX) หรือ '-' (ใช้ที่อยู่ IP เริ่มต้นของระบบ)
*CURLOPT_COOKIE: ส่งส่วนหัวที่มีคุกกี้ HTTP ไปยังการเชื่อมต่อ
*CURLOPT_SSLCERT: ส่งสตริงที่มีใบรับรองในรูปแบบ PEM
*CURLOPT_SSLCERTPASSWD: ส่งรหัสผ่านที่มีรหัสผ่านที่จำเป็นเพื่อใช้ใบรับรอง CURLOPT_SSLCERT
*CURLOPT_COOKIEFILE: ส่งสตริงที่มีชื่อไฟล์ที่มีข้อมูลคุกกี้ ไฟล์คุกกี้นี้อาจอยู่ในรูปแบบ Netscape หรืออาจเป็นชุดส่วนหัวแบบ HTTP ที่จัดเก็บไว้ในไฟล์ก็ได้
*CURLOPT_CUSTOMREQUEST: เมื่อทำการร้องขอ HTTP ให้ส่งอักขระที่จะใช้โดย GET หรือ HEAD ส่งสตริงที่จะใช้แทน GET หรือ HEAD เมื่อทำการร้องขอ HTTP สิ่งนี้มีประโยชน์สำหรับการดำเนินการหรือคำขอ HTTP อื่นที่คลุมเครือกว่า
หมายเหตุ: ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ของคุณรองรับคำสั่งที่ยังไม่ดำเนินการ
ตัวเลือกต่อไปนี้จำเป็นต้องมีคำอธิบายไฟล์ (ได้รับโดยใช้ฟังก์ชัน fopen()):
*CURLOPT_FILE: ไฟล์นี้จะเป็นไฟล์เอาท์พุตที่คุณใส่การถ่ายโอน ค่าเริ่มต้นคือ STDOUT
*CURLOPT_INFILE: ไฟล์นี้เป็นไฟล์อินพุตที่คุณส่ง
*CURLOPT_WRITEHEADER: ไฟล์นี้มีส่วนหัวของเอาต์พุตของคุณ
*CURLOPT_STDERR: ไฟล์นี้มีข้อผิดพลาดที่เขียนแทน stderr