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 عادي، فاضبط هذا الخيار على قيمة غير صفرية. هذا المنشور من النوع العادي 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: مرور عدد من الثواني من 1-1970 إلى الوقت الحاضر. سيتم استخدام هذا الوقت كقيمة محددة بواسطة خيار CURLOPT_TIMEVALUE، أو بواسطة TIMECOND_IFMODSINCE الافتراضي.
سيتم التعامل مع قيم الخيارات التالية كسلاسل:
*CURLOPT_URL: هذا هو عنوان URL الذي تريد استرداده باستخدام PHP. يمكنك أيضًا ضبط هذا الخيار أثناء التهيئة باستخدام وظيفة cur_init().
*CURLOPT_USERPWD: قم بتمرير سلسلة على شكل [اسم المستخدم]:[كلمة المرور] واستخدم PHP للاتصال.
*CURLOPT_PROXYUSERPWD: قم بتمرير سلسلة بتنسيق [اسم المستخدم]:[كلمة المرور] للاتصال بوكيل HTTP.
*CURLOPT_RANGE: قم بتمرير النطاق الذي تريد تحديده. يجب أن يكون بتنسيق "XY"، مع استبعاد X أو Y. تدعم عمليات نقل HTTP أيضًا فترات زمنية متعددة، مفصولة بفواصل (XY، NM).
*CURLOPT_POSTFIELDS: قم بتمرير سلسلة تحتوي على جميع البيانات كعملية HTTP "POST".
*CURLOPT_REFERER: سلسلة تحتوي على رأس "المرجع" في طلب HTTP.
*CURLOPT_USERAGENT: سلسلة تحتوي على رأس "وكيل المستخدم" في طلب 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.