(PHP 4 >= 4.0.2، PHP 5)
curl_setopt — قم بتعيين خيار النقل cURL.
bool curl_setopt (المورد $ch، خيار int $، قيمة $ المختلطة)
يضبط خيارًا لمقبض جلسة cURL المحدد.
الفصل
تم إرجاع مقبض cURL بواسطة curl_init().
خيار
يجب ضبط خيارات CURLOPT_XXX.
قيمة
القيمة التي سيتم تعيينها على الخيار.
بالنسبة للمعلمات الاختيارية للخيارات التالية، يجب تعيين القيمة إلى قيمة نوع منطقي:
خيارات | قيمة اختيارية | ملاحظة |
---|---|---|
CURLOPT_AUTOREFERER | عند إعادة التوجيه بناءً على الموقع:، يتم تعيين معلومات المُحيل: الموجودة في الرأس تلقائيًا. | |
CURLOPT_BINARYTRANSFER | إرجاع الإخراج الخام عند تمكين CURLOPT_RETURNTRANSFER . | |
CURLOPT_COOKIESESSION | عند تمكينه، سيمرر ملف تعريف الارتباط لجلسة واحدة فقط ويتجاهل ملفات تعريف الارتباط الأخرى. افتراضيًا، سيعيد الملف جميع ملفات تعريف الارتباط إلى الخادم. تشير ملفات تعريف الارتباط الخاصة بالجلسة إلى ملفات تعريف الارتباط المستخدمة لتحديد ما إذا كانت الجلسة من جانب الخادم صالحة أم لا. | |
CURLOPT_CRLF | عند التمكين، يتم تحويل أسطر Unix الجديدة إلى أحرف إرجاع وتغذية أسطر. | |
CURLOPT_DNS_USE_GLOBAL_CACHE | عند التمكين، يتم تمكين ذاكرة التخزين المؤقت لـ DNS العالمية، وهي آمنة لسلسلة الرسائل ويتم تمكينها افتراضيًا. | |
CURLOPT_FAILONERROR | يعرض رمز حالة HTTP. السلوك الافتراضي هو تجاهل رسائل HTTP بأرقام أقل من أو تساوي 400. | |
CURLOPT_FILETIME | عند التمكين، يحاول تعديل المعلومات في المستند البعيد. سيتم إرجاع معلومات النتيجة من خلال خيار CURLINFO_FILETIME للدالة curl_getinfo(). curl_getinfo(). | |
CURLOPT_FOLLOWLOCATION | عند التمكين، سيتم وضع "الموقع:" الذي تم إرجاعه بواسطة الخادم في الرأس وإعادته إلى الخادم بشكل متكرر. استخدم CURLOPT_MAXREDIRS للحد من عدد عمليات الإرجاع المتكررة. | |
CURLOPT_FORBID_REUSE | يتم قطع الاتصال بشكل إجباري بعد اكتمال التفاعل ولا يمكن إعادة استخدامه. | |
CURLOPT_FRESH_CONNECT | يفرض الحصول على اتصال جديد، واستبدال الاتصال الموجود في ذاكرة التخزين المؤقت. | |
CURLOPT_FTP_USE_EPRT | عند التمكين، استخدم الأمر EPRT (أو LPRT) عند تنزيل FTP. عند التعيين على FALSE يؤدي إلى تعطيل EPRT وLPRT، استخدم الأمر PORT فقط. | |
CURLOPT_FTP_USE_EPSV | عند التمكين، تتم محاولة أوامر EPSV أولاً قبل العودة إلى وضع PASV أثناء عمليات نقل FTP. تعطيل أمر EPSV عند التعيين على FALSE . | |
CURLOPT_FTPAPPEND | عند تمكين الإلحاق بالكتابة إلى الملف بدلاً من الكتابة فوقه. | |
CURLOPT_FTPASCII | الاسم المستعار لـ CURLOPT_TRANSFERTEXT . | |
CURLOPT_FTPLISTONLY | عند التمكين، يتم سرد أسماء أدلة FTP فقط. | |
CURLOPT_HEADER | عند التمكين، سيتم إخراج معلومات ملف الرأس كدفق بيانات. | |
CURLINFO_HEADER_OUT | سلسلة الطلب لمقابض التتبع عند تمكينها. | متاح بدءًا من PHP 5.1.3. بادئة CURLINFO_ مقصودة. |
CURLOPT_HTTPGET | عند التمكين، سيتم تعيين أسلوب HTTP على GET نظرًا لأن GET هو الإعداد الافتراضي، فلن يتم استخدامه إلا إذا تم تعديله. | |
CURLOPT_HTTPPROXYTUNNEL | عند التمكين، يتم الإرسال عبر وكيل HTTP. | |
CURLOPT_MUTE | عند التمكين، ستتم استعادة جميع المعلمات المعدلة في وظيفة cURL إلى قيمها الافتراضية. | |
CURLOPT_NETRC | بعد إنشاء الاتصال، قم بالوصول إلى الملف ~/.netrc للحصول على معلومات اسم المستخدم وكلمة المرور للاتصال بالموقع البعيد. | |
كيرلوبت_لا أحد | عند التمكين، لن يتم إخراج الجزء BODY من HTML. | |
CURLOPT_NOPROGRESS | قم بإيقاف تشغيل شريط التقدم الخاص بنقل الضفيرة عند تمكين الإعداد الافتراضي لهذا العنصر.
| |
CURLOPT_NOSIGNAL | عند التمكين، يتجاهل كل الإشارات التي تم تمريرها بواسطة الضفيرة إلى php. يتم تمكين هذا العنصر افتراضيًا أثناء الإرسال متعدد مؤشرات الترابط لـ SAPI. | تمت الإضافة في الضفيرة 7.10. |
CURLOPT_POST | عند التمكين، سيتم إرسال طلب POST عادي من النوع: application/x-www-form-urlencoded ، تمامًا مثل إرسال النموذج. | |
CURLOPT_PUT | عند التمكين للسماح لـ HTTP بإرسال الملفات، يجب تعيين كل من CURLOPT_INFILE و CURLOPT_INFILESIZE . | |
CURLOPT_RETURNTRANSFER | قم بإرجاع المعلومات التي تم الحصول عليها بواسطة curl_exec() في شكل دفق ملف بدلاً من إخراجها مباشرة. | |
CURLOPT_SSL_VERIFYPEER | عند تعطيل cURL، سيتم إنهاء التحقق من الصحة من الخادم. قم بتعيين الشهادة باستخدام خيار CURLOPT_CAINFO . قم بتعيين دليل الشهادة باستخدام خيار CURLOPT_CAPATH إذا تم تمكين CURLOPT_SSL_VERIFYPEER (الافتراضي 2)، فيجب ضبط CURLOPT_SSL_VERIFYHOST على TRUE . | الإعدادات الافتراضية هي TRUE منذ cURL 7.10. بدءًا من cURL 7.10، يتم تثبيت الحزمة بشكل افتراضي. |
CURLOPT_TRANSFERTEXT | عند تمكينه، يستخدم وضع ASCII لعمليات نقل FTP. بالنسبة لـ LDAP، فإنه يسترد معلومات النص العادي بدلاً من HTML. في أنظمة Windows، لا يقوم النظام بتعيين STDOUT على الوضع الثنائي. | |
CURLOPT_UNRESTRICTED_AUTH | قم بإلحاق معلومات اسم المستخدم وكلمة المرور باستمرار بمواقع متعددة في الرأس الذي تم إنشاؤه باستخدام CURLOPT_FOLLOWLOCATION ، حتى لو تغير اسم المجال. | |
CURLOPT_UPLOAD | السماح بتحميل الملفات عند التمكين. | |
CURLOPT_VERBOSE | عند التمكين، سيتم الإبلاغ عن كافة المعلومات وتخزينها في STDERR أو CURLOPT_STDERR المحدد. |
بالنسبة للمعلمات الاختيارية للخيارات التالية، يجب تعيين القيمة إلى قيمة من النوع عدد صحيح:
خيارات | قيمة اختيارية | ملاحظة |
---|---|---|
CURLOPT_BUFFERSIZE | تتم قراءة حجم ذاكرة التخزين المؤقت في البيانات التي تم الحصول عليها في كل مرة، ولكن ليس هناك ما يضمن ملء هذه القيمة في كل مرة. | تمت الإضافة في الضفيرة 7.10. |
CURLOPT_CLOSEPOLICY | إما CURLCLOSEPOLICY_LEAST_RECENTLY_USED أو CURLCLOSEPOLICY_OLDEST، هناك ثلاث CURLCLOSEPOLICYs أخرى، ولكن cURL لا يدعمها حتى الآن. | |
CURLOPT_CONNECTTIMEOUT | وقت الانتظار قبل بدء الاتصال إذا تم ضبطه على 0، فسيتم الانتظار إلى أجل غير مسمى. | |
CURLOPT_CONNECTTIMEOUT_MS | الوقت اللازم لانتظار محاولة الاتصال، بالمللي ثانية. إذا تم تعيينه على 0، انتظر إلى ما لا نهاية. | تمت الإضافة في URL 7.16.2. متاح بدءًا من PHP 5.2.3. |
CURLOPT_DNS_CACHE_TIMEOUT | قم بتعيين الوقت لحفظ معلومات DNS في الذاكرة، الافتراضي هو 120 ثانية. | |
CURLOPT_FTPSSLAUTH | طريقة مصادقة FTP: CURLFTPAUTH_SSL (جرب SSL أولاً)، CURLFTPAUTH_TLS (جرب TLS أولاً) أو CURLFTPAUTH_DEFAULT (دع cURL يقرر تلقائيًا). | تمت الإضافة في URL 7.12.2. |
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (افتراضي، يتيح للملف تحديد الإصدار الذي سيتم استخدامه)، CURL_HTTP_VERSION_1_0 (يفرض HTTP/1.0) أو CURL_HTTP_VERSION_1_1 (يفرض HTTP/1.1). | |
CURLOPT_INFILESIZE | قم بتعيين الحد الأقصى لحجم الملفات التي تم تحميلها بالبايت. | |
CURLOPT_LOW_SPEED_LIMIT | عندما تكون سرعة الإرسال أقل من CURLOPT_LOW_SPEED_LIMIT (بايت/ثانية)، ستستخدم PHP CURLOPT_LOW_SPEED_TIME لتحديد ما إذا كان سيتم إلغاء الإرسال لأنه بطيء جدًا. | |
CURLOPT_LOW_SPEED_TIME | عندما تكون سرعة الإرسال أقل من CURLOPT_LOW_SPEED_LIMIT (بايت/ثانية)، ستستخدم PHP CURLOPT_LOW_SPEED_TIME لتحديد ما إذا كان سيتم إلغاء الإرسال لأنه بطيء جدًا. | |
CURLOPT_MAXCONNECTS | الحد الأقصى لعدد الاتصالات المسموح بها، إذا تم تجاوزه، سيتم استخدام CURLOPT_CLOSEPOLICY لتحديد الاتصالات التي يجب إيقافها. | |
CURLOPT_MAXREDIRS | يحدد الحد الأقصى لعدد عمليات إعادة توجيه HTTP. يُستخدم هذا الخيار مع CURLOPT_FOLLOWLOCATION . | |
CURLOPT_PORT | يستخدم لتحديد منفذ الاتصال. (خياري) | |
CURLOPT_PROTOCOLS | يشير Bitfield إلى CURLPROTO_* . إذا تم تمكينها، فإن قيمة حقل البت تحد من البروتوكولات التي يمكن أن يستخدمها libcurl أثناء عمليات النقل. سيسمح لك هذا بترجمة libcurl لدعم العديد من البروتوكولات، ولكن فقط لاستخدام مجموعة فرعية منها المسموح باستخدامها. افتراضيًا، سيستخدم libcurl جميع البروتوكولات التي يدعمها. راجع CURLOPT_REDIR_PROTOCOLS خيارات البروتوكول المتاحة هي: CURLPROTO_HTTP، CURLPROTO_HTTPS، CURLPROTO_FTP، CURLPROTO_FTPS، CURLPROTO_SCP، CURLPROTO_SFTP، CURLPROTO_TELNET، CURLPROTO_LDAP، CURLPROTO_LDAPS، CURLPROTO_DICT، CURLPROTO_FILE، CURLPROTO_TFTP، TO_ALL | تمت الإضافة في URL 7.19.4. |
CURLOPT_PROTOCOLS | يشير Bitfield إلى CURLPROTO_* . إذا تم تمكينها، فإن قيمة حقل البت تحد من البروتوكولات التي يمكن أن يستخدمها libcurl أثناء عمليات النقل. سيسمح لك هذا بترجمة libcurl لدعم العديد من البروتوكولات، ولكن فقط لاستخدام مجموعة فرعية منها المسموح باستخدامها. افتراضيًا، سيستخدم libcurl جميع البروتوكولات التي يدعمها. راجع CURLOPT_REDIR_PROTOCOLS خيارات البروتوكول المتاحة هي: CURLPROTO_HTTP، CURLPROTO_HTTPS، CURLPROTO_FTP، CURLPROTO_FTPS، CURLPROTO_SCP، CURLPROTO_SFTP، CURLPROTO_TELNET، CURLPROTO_LDAP، CURLPROTO_LDAPS، CURLPROTO_DICT، CURLPROTO_FILE، CURLPROTO_TFTP، TO_ALL | تمت الإضافة في URL 7.19.4. |
CURLOPT_PROXYAUTH | طريقة التحقق من اتصالات وكيل HTTP. استخدم إشارات حقل البت في CURLOPT_HTTPAUTH لتعيين الخيارات المقابلة. بالنسبة لمصادقة الوكيل، لا يتم دعم سوى CURLAUTH_BASIC و CURLAUTH_NTLM حاليًا. | تمت الإضافة في URL 7.10.7. |
CURLOPT_PROXYPORT | منفذ الخادم الوكيل. يمكن أيضًا تعيين المنفذ في CURLOPT_PROXY . | |
CURLOPT_PROXYTYPE | إما CURLPROXY_HTTP (افتراضي) أو CURLPROXY_SOCKS5 . | تمت الإضافة في الضفيرة 7.10. |
CURLOPT_REDIR_PROTOCOLS | قيمة حقل البت في CURLPROTO_* . في حالة تمكينها، ستحد قيمة حقل البت من البروتوكولات التي يمكن أن يستخدمها مؤشر ترابط النقل عند اتباع عملية إعادة توجيه عند تمكين CURLOPT_FOLLOWLOCATION . سيسمح لك هذا بتقييد مؤشر ترابط النقل بمجموعة فرعية من البروتوكولات المسموح بها عند إعادة التوجيه. افتراضيًا، سيسمح libcurl بجميع البروتوكولات باستثناء FILE وSCP. ويختلف هذا قليلاً عن الإصدار التجريبي 7.19.4 الذي يتبع جميع البروتوكولات المدعومة دون قيد أو شرط. للحصول على ثوابت البروتوكول، يرجى الرجوع إلى CURLOPT_PROTOCOLS . | تمت الإضافة في URL 7.19.4. |
CURLOPT_RESUME_FROM | تمرير إزاحة البايت عند استئناف النقل (يستخدم لاستئناف النقل). | |
CURLOPT_SSL_VERIFYHOST | 1 تحقق مما إذا كان هناك اسم شائع في شهادة SSL للخادم. ملاحظة المترجم: الاسم الشائع (الاسم الشائع) يعني عمومًا ملء اسم المجال (المجال) أو المجال الفرعي (المجال الفرعي) الذي ستتقدم بطلب للحصول على شهادة SSL له. 2 تأكد من وجود الاسم الشائع وتطابقه مع اسم المضيف المقدم. | |
CURLOPT_SSLVERSION | إصدار SSL للاستخدام (2 أو 3). بشكل افتراضي، ستكتشف PHP هذه القيمة بنفسها، على الرغم من أنها قد تحتاج إلى تعيينها يدويًا في بعض الحالات. | |
CURLOPT_TIMECONDITION | إذا تم تحريرها بعد فترة زمنية محددة بواسطة CURLOPT_TIMEVALUE ، فاستخدم CURL_TIMECOND_IFMODSINCE لإرجاع الصفحة. إذا لم يتم تعديلها وكان CURLOPT_HEADER صحيحًا، فسيتم إرجاع الرأس "304 Not Modified" إذا كان CURLOPT_HEADER خطأ، فاستخدم CURL_TIMECOND_IFUNMODSINCE. ، القيمة الافتراضية هي CURL_TIMECOND_IFUNMODSINCE . | |
CURLOPT_TIMEOUT | قم بتعيين الحد الأقصى لعدد الثواني المسموح بتنفيذها cURL. | |
CURLOPT_TIMEOUT_MS | يضبط الحد الأقصى لعدد المللي ثانية التي يُسمح لـ cURL بتنفيذها. | تمت الإضافة في URL 7.16.2. متوفر بدءًا من PHP 5.2.3 وما بعده. |
CURLOPT_TIMEVALUE | قم بتعيين الطابع الزمني الذي يستخدمه CURLOPT_TIMECONDITION افتراضيًا، يتم استخدام CURL_TIMECOND_IFMODSINCE . |
بالنسبة للمعلمات الاختيارية للخيارات التالية، يجب تعيين القيمة إلى قيمة نوع السلسلة:
خيارات | قيمة اختيارية | ملاحظة |
---|---|---|
CURLOPT_CAINFO | اسم الملف الذي يحتوي على شهادة واحدة أو أكثر للتحقق منها بواسطة الخادم. تكون هذه المعلمة ذات معنى فقط عند استخدامها مع CURLOPT_SSL_VERIFYPEER . . | |
CURLOPT_CAPATH | دليل يحتوي على شهادات CA متعددة. يتم استخدام هذا الخيار مع CURLOPT_SSL_VERIFYPEER . | |
CURLOPT_COOKIE | قم بتعيين محتوى الجزء "ملف تعريف الارتباط:" من طلب HTTP. يتم الفصل بين ملفات تعريف الارتباط المتعددة بفاصلة منقوطة متبوعة بمسافة (على سبيل المثال، " Fruit=apple; color=red "). | |
CURLOPT_COOKIEFILE | يمكن أن يكون اسم الملف الذي يحتوي على بيانات ملف تعريف الارتباط هو تنسيق Netscape، أو يمكن تخزين معلومات رأس HTTP فقط في الملف. | |
CURLOPT_COOKIEJAR | ملف يحفظ معلومات ملف تعريف الارتباط بعد اكتمال الاتصال. | |
CURLOPT_CUSTOMREQUEST | استخدم رسالة طلب مخصصة بدلاً من "GET" أو "HEAD" لطلب HTTP. يعد هذا مفيدًا لتنفيذ "DELETE" أو طلبات HTTP السرية الأخرى. القيم الصالحة هي "GET" و "POST" و "CONNECT" وما إلى ذلك. أي لا تدخل طلب HTTP بالكامل هنا. على سبيل المثال، إدخال "GET /index.html HTTP/1.0rnrn" غير صحيح.
| |
CURLOPT_EGDSOCKET | يشبه CURLOPT_RANDOM_FILE ، باستثناء مقبس Entropy Gathering Daemon. | |
CURLOPT_ENCODING | قيمة "Accept-Encoding:" في رأس طلب HTTP. الترميزات المدعومة هي "الهوية" و "الانكماش" و "gzip" . إذا كانت السلسلة فارغة "" ، فسيتم إرسال جميع أنواع الترميز المدعومة في رأس الطلب. | تمت الإضافة في الضفيرة 7.10. |
CURLOPT_FTPPORT | سيتم استخدام هذه القيمة للحصول على عنوان IP المطلوب لأمر FTP "POST". يخبر الأمر "POST" الخادم البعيد بالاتصال بعنوان IP الذي حددناه. يمكن أن تكون هذه السلسلة عبارة عن عنوان IP بنص عادي، أو اسم مضيف، أو اسم واجهة شبكة (ضمن UNIX) أو مجرد "-" لاستخدام عنوان IP الافتراضي. | |
CURLOPT_INTERFACE | يمكن أن يكون اسم واجهة إرسال الشبكة اسم واجهة أو عنوان IP أو اسم مضيف. | |
CURLOPT_KRB4LEVEL | مستوى الأمان KRB4 (Kerberos 4). أي من القيم التالية صالحة (بالترتيب من الأقل إلى الأعلى): "واضح" ، "آمن" ، "سري" ، "خاص". إذا كانت السلسلة لا تطابق أيًا من هذه، فسيتم استخدام "خاص" . سيؤدي تعيين هذا الخيار إلى NULL إلى تعطيل مصادقة أمان KRB4. حاليًا، لا يمكن استخدام شهادة الأمان KRB4 إلا لعمليات نقل FTP. | |
CURLOPT_POSTFIELDS | يتم إرسال جميع البيانات باستخدام عملية "POST" في بروتوكول HTTP. لإرسال ملف، قم بإضافة @ إلى اسم الملف واستخدم المسار الكامل. يمكن تمرير هذه المعلمة كسلسلة مشفرة urlencode مثل ' para1=val1¶2=val2&... ' أو استخدام مصفوفة مع اسم الحقل كمفتاح وبيانات الحقل كقيمة. إذا كانت القيمة عبارة عن مصفوفة، فسيتم تعيين رأس نوع المحتوى على بيانات متعددة الأجزاء/نموذج . | |
CURLOPT_PROXY | قناة وكيل HTTP. | |
CURLOPT_PROXYUSERPWD | سلسلة بالتنسيق "[اسم المستخدم]:[كلمة المرور]" تُستخدم للاتصال بالوكيل. | |
CURLOPT_RANDOM_FILE | اسم الملف المستخدم لإنشاء الرقم العشوائي لـ SSL. | |
CURLOPT_RANGE | في شكل "XY" ، حيث X وY هما خياران اختياريان للحصول على نطاق البيانات بالبايت. يدعم مؤشر ترابط نقل HTTP أيضًا العديد من التكرارات المفصولة بفواصل مثل "XY,NM" . | |
CURLOPT_REFERER | محتوى "المرجع:" في رأس طلب HTTP. | |
CURLOPT_SSL_CIPHER_LIST | قائمة خوارزميات تشفير SSL. على سبيل المثال، تعد كل من RC4-SHA و TLSv1 قائمتي تشفير متاحتين. | |
CURLOPT_SSLCERT | اسم الملف الذي يحتوي على شهادة بتنسيق PEM. | |
CURLOPT_SSLCERTPASSWD | كلمة المرور مطلوبة لاستخدام شهادة CURLOPT_SSLCERT . | |
CURLOPT_SSLCERTTYPE | نوع الشهادة. التنسيقات المدعومة هي "PEM" (افتراضي)، و "DER" و "ENG" . | أضيفت في الضفيرة 7.9.3. |
CURLOPT_SSLENGINE | متغير محرك التشفير المستخدم لمفتاح SSL الخاص المحدد في CURLOPT_SSLKEY . | |
CURLOPT_SSLENGINE_DEFAULT | المتغيرات المستخدمة لعمليات التشفير غير المتماثلة. | |
CURLOPT_SSLKEY | اسم الملف الذي يحتوي على مفتاح SSL الخاص. | |
CURLOPT_SSLKEYPASSWD | كلمة المرور لمفتاح SSL الخاص المحدد في CURLOPT_SSLKEY .
| |
CURLOPT_SSLKEYTYPE | نوع التشفير للمفتاح الخاص المحدد في CURLOPT_SSLKEY . أنواع المفاتيح المدعومة هي "PEM" (القيمة الافتراضية) و "DER" و "ENG" . | |
CURLOPT_URL | يمكن أيضًا تعيين عنوان URL الذي يجب الحصول عليه في الدالة curl_init() . | |
CURLOPT_USERAGENT | قم بتضمين سلسلة رأس "User-Agent:" في طلب HTTP. | |
CURLOPT_USERPWD | قم بتمرير اسم المستخدم وكلمة المرور المطلوبة للاتصال بالتنسيق: "[اسم المستخدم]:[كلمة المرور]" . |
بالنسبة للمعلمات الاختيارية للخيارات التالية، يجب تعيين القيمة إلى مصفوفة:
خيارات | قيمة اختيارية | ملاحظة |
---|---|---|
CURLOPT_HTTP200 الأسماء المستعارة | مصفوفة رمز الاستجابة 200، تعتبر الاستجابة في المصفوفة استجابة صحيحة، وإلا تعتبر خطأ. | تمت الإضافة في URL 7.10.3. |
CURLOPT_HTTPHEADER | مصفوفة تستخدم لتعيين حقول رأس HTTP. استخدم مصفوفة في النموذج التالي لتعيينها: array('Content-type: text/plain', 'Content-length: 100') | |
CURLOPT_POSTQUOTE | مجموعة من أوامر FTP يتم تنفيذها على الخادم بعد تنفيذ طلب FTP. | |
CURLOPT_QUOTE | مجموعة من أوامر FTP المطلوب تنفيذها على الخادم قبل طلب FTP. |
بالنسبة للمعلمات الاختيارية للخيارات التالية، يجب تعيين القيمة لمورد الدفق (على سبيل المثال، باستخدام fopen()):
خيارات | قيمة اختيارية |
---|---|
CURLOPT_FILE | قم بتعيين موقع ملف الإخراج القيمة هي نوع المورد الافتراضي هو STDOUT (المتصفح). |
CURLOPT_INFILE | عنوان الملف الذي يجب قراءته عند تحميل ملف. القيمة هي نوع المورد. |
CURLOPT_STDERR | قم بتعيين عنوان إخراج خطأ، والقيمة هي نوع المورد، لتحل محل STDERR الافتراضي. |
CURLOPT_WRITEHEADER | قم بتعيين عنوان الملف حيث يتم كتابة محتوى جزء الرأس، وتكون القيمة هي نوع المورد. |
بالنسبة للمعلمات الاختيارية للخيارات التالية، يجب تعيين القيمة إلى اسم وظيفة رد الاتصال:
خيارات | قيمة اختيارية |
---|---|
CURLOPT_HEADERFUNCTION | قم بتعيين وظيفة رد الاتصال. تحتوي هذه الوظيفة على معلمتين، الأول هو مقبض مورد cURL، والثاني هو بيانات رأس الإخراج. يجب أن يعتمد إخراج بيانات الرأس على هذه الوظيفة، التي تُرجع حجم البيانات المكتوبة. |
CURLOPT_PASSWDFUNCTION | قم بتعيين وظيفة رد الاتصال بثلاثة معلمات، الأول هو مقبض مورد cURL، والثاني هو المطالبة بكلمة المرور، والمعلمة الثالثة هي الحد الأقصى لطول كلمة المرور المسموح بها. إرجاع قيمة كلمة المرور. |
CURLOPT_PROGRESSFUNCTION | قم بإعداد وظيفة رد اتصال بثلاث معلمات، الأول هو مقبض مورد cURL، والثاني هو مورد واصف الملف، والثالث هو الطول. إرجاع البيانات الواردة. |
CURLOPT_READFUNCTION | اسم وظيفة رد الاتصال. يجب أن تقبل هذه الوظيفة ثلاث معلمات. الأول هو مورد cURL، والثاني هو مورد الدفق الذي تم تمريره إلى cURL من خلال الخيار CURLOPT_INFILE ؛ والمعلمة الثالثة هي الحد الأقصى لكمية البيانات التي يمكن قراءتها. يجب أن تقوم وظيفة رد الاتصال بإرجاع سلسلة طولها أقل من أو يساوي كمية البيانات المطلوبة (المعلمة الثالثة). القراءة بشكل عام من مورد الدفق الوارد. إرجاع السلسلة الفارغة كإشارة EOF (نهاية الملف). |
CURLOPT_WRITEFUNCTION | اسم وظيفة رد الاتصال. يجب أن تقبل هذه الوظيفة معلمتين. الأول هو مورد cURL والثاني هو سلسلة البيانات المراد كتابتها. يجب حفظ البيانات داخل الوظيفة. يجب أن تقوم الدالة بإرجاع العدد الدقيق للبايتات التي تم تمريرها لكتابة البيانات، وإلا سيتم مقاطعة النقل بسبب خطأ. |
إرجاع TRUE عند النجاح، أو FALSE عند الفشل.
إصدار | يوضح |
---|---|
5.2.10 | تم تقديم CURLOPT_PROTOCOLS و CURLOPT_REDIR_PROTOCOLS . |
5.1.0 | تم تقديم CURLOPT_AUTOREFERER و CURLOPT_BINARYTRANSFER و CURLOPT_FTPSSLAUTH و CURLOPT_PROXYAUTH و CURLOPT_TIMECONDITION . |
5.0.0 | تم تقديم CURLOPT_FTP_USE_EPRT و CURLOPT_NOSIGNAL و CURLOPT_UNRESTRICTED_AUTH و CURLOPT_BUFFERSIZE و CURLOPT_HTTPAUTH و CURLOPT_PROXYPORT و CURLOPT_PROXYTYPE و CURLOPT_SSLCERTTYPE و CURLOPT_HTTP200ALIASES . |
قم بتهيئة جلسة cURL جديدة واحصل على صفحة ويب
<?php// إنشاء مورد cURL جديد $ch = curl_init();// قم بتعيين عنوان URL والخيارات المقابلة curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); curl_setopt($ch ، CURLOPT_HEADER، خطأ)؛// احصل على عنوان URL وقم بتمريره إلى المتصفح curl_exec($ch);// أغلق مورد cURL وحرر مورد النظام curl_ Close($ch);?>
مثال لتحميل الملف:
<?php/* http://localhost/upload.php:print_r($_POST);print_r($_FILES);*/$ch = curl_init();$data = array('name' => 'Foo', 'file' => '@/home/user/test.png');curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);curl_exec($ch);?>
نتائج الإخراج للمثال أعلاه هي كما يلي:
Array( [name] => Foo)Array( [file] => Array ( [name] => test.png [type] => image/png [tmp_name] => /tmp/phpcpjNeQ [خطأ] => 0 [ الحجم] => 279 ))
عند تمرير مصفوفة إلى CURLOPT_POSTFIELDS، سيقوم cURL بتشفير البيانات إلى بيانات متعددة الأجزاء/نموذج، بينما عند تمرير سلسلة مشفرة بعنوان URL، سيتم تشفير البيانات إلى application/x-www-form-urlencoded.