מדריך PHP קודם הבא הפונקציה curl_setopt() מאפשרת לקבוע את האפשרויות של CURL session המזוהה על ידי הפרמטר ch. option היא האופציה אותה ניתן לקבוע, וה value הוא הערך של האופציה שניתנה על ידי option. ה value צריך להיות מסוג long עבור הפשרויות הבאות (מצוינות במשתנה option): CURLOPT_INFILESIZE: כאשר מעלים קובץ לאתר מרוחק, יש להשתמש באופציה זו על מנת להגיד ל PHP מהו הגודל המצופה מן הקובץ המועלה להיות. CURLOPT_VERBOSE: קבע את הערך לערך השונה מאפס אם יש לאפשר ל CURL לדווח על כל אשר קורה. CURLOPT_HEADER: קבע את הערך לערך השונה מאפס אם יש לאפשר ל header להכלל במידע הנשלח. CURLOPT_NOPROGRESS: קבע את הערך לערך השונה מאפס אם אין אתם רוצים ש PHP תציג progress meter עבור CURL transfers הערה: PHP קובעת באופן אוטומטי את הערך לערך השונה מאפס, יש לשנות ערך זה למטרות debugging בלבד. CURLOPT_NOBODY: קבע את הערך לערך השונה מאפס אם יש לאפשר ל body להכלל במידע הנשלח. CURLOPT_FAILONERROR: קבע את הערך לערך השונה מאפס אם ברצונך ש PHP תכשל באופן שקט,ללא הודעות שגיאה, אם הקוד המוחזר על ידי ה HTTP גדול מ300. ברירת המחדל היא להחזיר את הדף באופן רגיל תוך כדי התעלמות מן הקוד. CURLOPT_UPLOAD: קבע את הערך לערך השונה מאפס אם ברצונך ש PHP תתכונן להעלאת קבצים. CURLOPT_POST: קבע את הערך לערך השונה מאפס אם ברצונך ש PHP תבצע HTTP POST רגיל. POST רגיל זה הוא מסוג application / x-www-form-urlencoded, הנפוץ בשימוש על ידי HTML forms. CURLOPT_FTPLISTONLY: קבע את הערך לערך השונה מאפס אם ברצונך ש PHP תציג רק את שמות ספריית ה FTP. CURLOPT_FTPAPPEND: קבע את הערך לערך השונה מאפס אם ברצונך ש PHP תוסיף את תוכן הקובץ לקובץ הקיים במקום להחליפו. CURLOPT_NETRC: קבע את הערך לערך השונה מאפס אם ברצונך ש PHP תסרוק את קובץ ~. / netrc כדי למצוא את שם המשתמש והסיסמה עבור האתר המרוחק אליו מתבצע ניסיון להתחברות. CURLOPT_FOLLOWLOCATION: קבע את הערך לערך השונה מאפס אם ברצונך לעקוב אחר כל "Location:" header שהשרת שולח כחלק מה HTTP header (המעקב הינו רקורסיבי, ו PHP תעקוב אחר כל "Location: "headers שישלחו.). CURLOPT_PUT: קבע את הערך לערך השונה מאפס כדי לבצע HTTP PUT לקובץ. הקובץ המועבר ל PUT חייב להקבע תוך כדי שימוש ב CURLOPT_INFILE ו CURLOPT_INFILESIZE. CURLOPT_MUTE: קבע את הערך לערך השונה מאפס כדי ש PHP תהיה שקטה לגמרי לגבי פונקציות CURL. CURLOPT_TIMEOUT: העבר ערך מסוג long כפרמטר שמכיל את הזמן המקסימלי, בשניות, שאותו תרשה לפונקציות CURL להתבצע. CURLOPT_LOW_SPEED_LIMIT: העבר ערך מסוג long כפרמטר שמכיל את מהירות ההעברה בבתים לשניה שמהירות ההעברה צריכה להיות מתחת CURLOPT_LOW_SPEED_TIME שניות על מנת ש PHP תתיחס למהירות כנמוכה מדי ותבטל את ההעברה. CURLOPT_LOW_SPEED_TIME: העבר ערך מסוג long כפרמטר שמכיל את הזמן בשניות שההעברה צריכה להיות מתחת ל CURLOPT_LOW_SPEED_LIMIT כדי ש PHP תתיחס לפעולה כאיטית מדי ותבטל את ההעברה. CURLOPT_RESUME_FROM: העבר ערך מסוג long כפרמטר שמכיל את ה offset, בבתים, שההעברה תתחיל ממנה. CURLOPT_SSLVERSION: העבר ערך מסוג long כפרמטר שמכיל את גירסת ה SSL( 2 or 3) לשימוש. כברירת מחדל PHP תנסה למצוא נתון זה בעצמה, אך במקרים מסוימים יש לקבוע ערך זו ידנית. CURLOPT_SSL_VERIFYHOST: העבר ערך מסוג long אם cURL אמורה לוודא את ה peer certificate הנמצא בשימוש עם SSL handshake. הערך 1 קובע שיש לבדוק את המצאותו של common name, הערך 2 קובע שיש לוודא כי היא זהה לשם המחשב המארח. CURLOPT_TIMECONDITION: העבר ערך מסוג long כפרמטר הקובע כיצד יש להתיחס ל CURLOPT_TIMEVALUE. ניתן לקבוע את הערך ל TIMECOND_IFMODSINCE או ל TIMECOND_ISUNMODSINCE. זהו HTTP-only feature. CURLOPT_TIMEVALUE: העבר ערך מסוג long כפרמטר שהוא הזמן בשניות מאז January 1st, 1970. היחס לזמן זה יהיה כפי שהוגדר באפשרות CURLOPT_TIMEVALUE, או על פי ברירת המחדל TIMECOND_IFMODSINCE. CURLOPT_RETURNTRANSFER: העבר ערך השונה מאפס אם על cURL להחזיר את המידע ישירות במקום לבצע הדפסה של המידע. המשתנה value צריך להיות מסוג string בשביל הערכים הבאים של המשתנה option: CURLOPT_URL: זהו ה URL שברצונך ש PHP תביא. ניתן לקבוע את הערך גם בזמן אתחול session עם פונקציית curl_init(). CURLOPT_USERPWD: העבר ערך מסוג מחרוזת בפורמט [username] :[password], כדי ש PHP תשתמש בו עבור ההתחברות. CURLOPT_PROXYUSERPWD: העבר ערך מסוג מחרוזת בפורמט [username] :[password], להתחברות ל HTTP proxy. CURLOPT_RANGE: העבר את התחום המבוקש. הפורמט צריך להיות "X-Y", כאשר X או Y יכולים להיות ריקים. העברת HTTP תומכת גם במספר פרקי זמן, מופרדים בפסיק כגון: X-Y,N-M. CURLOPT_POSTFIELDS: העבר ערך מסוג מחרוזת המכיל את מלוא המידע שיש לשלוח בפעולת HTTP "POST". CURLOPT_REFERER: העבר ערך מסוג מחרוזת המכיל את ה "referer" header לשימוש ב HTTP request. CURLOPT_USERAGENT: העבר ערך מסוג מחרוזת המכיל את ה "user-agent" header לשימוש ב HTTP request. CURLOPT_FTPPORT: העבר ערך מסוג מחרוזת המציין כיצד יש להשיג את כתובת ה IP שתשמש את ה ftp עבור "POST". ההוראה POST מציינת לשרת המרוחק להתחבר לכתובת ה IP המצוינת. הערך יכול להיות כתובת IP רגילה, שם מחשב מארח, a network interface name (under UNIX), או '-' כדי לציין את כתובת ה IP שהיא ברירת המחדל של המערכת. CURLOPT_COOKIE: העבר ערך מסוג מחרוזת המכיל את תוכן ה cookie שתשלח ב HTTP header. CURLOPT_SSLCERT: העבר ערך מסוג מחרוזת המכיל את שם קובץ ה PEM formatted certificate. CURLOPT_SSLCERTPASSWD: העבר ערך מסוג מחרוזת המכיל את הסיסמה הנדרשת כדי להשתמש ב CURLOPT_SSLCERT certificate. CURLOPT_COOKIEFILE: העבר ערך מסוג מחרוזת המכיל את שם הקובץ המכיל את תוכן ה cookie. קובץ ה cookie יכול להיות בפורמט Netscapeת או ב HTTP-style headers רגילים שנשמרו בקובץ. CURLOPT_CUSTOMREQUEST: העבר ערך מסוג מחרוזת לשימוש במקום GET או HEAD כאשר מבצעים פעולת HTTP request. אפשרות זו שימושית כאשר מבצעים DELETE או כל פעולה אחרת מסוג HTTP request. ערכים אפשריים הם ערכים כגון GET, POST, וכך הלאה; שים לב: אין להעביר שורת HTTP request מלאה כאן. לדוגמא, העברת 'GET / index.html HTTP / 1.0\r\n\r\n 'תהיה לא נכונה. הערה: אין לבצע פעולה זו לפני שמוודאים כי השרת אכן תומך בפקודה. CURLOPT_PROXY: ציין את שם ה HTTP proxy שהבקשות יועברו דרכו. CURLOPT_INTERFACE: ציין את שם ה network interface היוצא שיש להשתמש בו. הערך יכול להיות שם interface ,כתובת IP או שם מחשב מארח. CURLOPT_KRB4LEVEL: העבר את רמת האבטחה KRB4 (Kerberos 4). הערך יכול להיות כל אחד מהערכים הבאים (מהחלשה מבין האפשרויות, לחזקה מביניהם): 'clear', 'safe', 'confidential', 'private'. אם הערך אינו תואם את אחד מהערכים האילו, אזי 'private 'תהיה בשימוש. אם הערך נקבע ל NULL, אבטחת KRB4 תהיה מנוטרלת. אבטחת KRB4 עובדת כרגע רק עם העברות FTP. CURLOPT_HTTPHEADER: העבר מערך שלשדות ה HTTP header שאותם ברצונך לקבוע. CURLOPT_QUOTE: העבר מערך של פקודות FTP שיש לצע על השרת המרוחק לפני ביצוע בקשת ה FTP. CURLOPT_POSTQUOTE: העבר מערך של פקודות FTP שיש לצע על השרת המרוחק אחרי ביצוע בקשת ה FTP. האפשרויות הבאות מצפות ל file descriptor שהושג תוך שימוש בפונקציית fopen(): CURLOPT_FILE: הקובץ אליו הפלט של ההעברה ינותב, ברירת המחדל היא STDOUT. CURLOPT_INFILE: הקובץ ממנו הקלט של ההעברה מגיע. CURLOPT_WRITEHEADER: הקובץ אליו יש לרשום את חלק ה header של הפלט. CURLOPT_STDERR: הקובץ אליו יש לרשום את השגיאות במקום stderr. קודם ראשי הבא למעלה