לא נפתר העלאת קובץ בcurl (בקשת הסבר)
-
@אהרן-שובקס
אז מה כן בשביל להעלות קובץ? -
-
-
@מנסה
אני שאלתי אחרי עיון!
או אם תוכל לאמר לי מה הפרמטרים שצריך להוסיף לפונקצייה שלו?! ואז אני יבין יותר! -
הם נמצאים שם בתוך הקוד
שים לב שכמה שורות למעלה מופיע ההגדרה של $parm
וכן הההגדרה של $headers.
-
@מנסה
אבל למסקנה מה אמור להיות בשורות של הcurl?
תוכל לכתוב לי? כלומר אם אמור להיות כתובת, אז כתובת. אם טוקן אז טוקן.
תודה לך! -
CURLOPT_URL => $url, = הכתובת להעלאה CURLOPT_POST => true, = סוג שליחה כללי CURLOPT_POSTFIELDS => $parm, =סוג פעולה CURLOPT_HTTPHEADER => $headers, = סוג שליחה בפירוט CURLOPT_RETURNTRANSFER => true, = החזרת התשובה [בזה אני לא בטוח]
-
@מנסה
זה הרעיון?CURLOPT_URL =>"https://$url/ym/api/UploadFile?token=0773137770:123456&path=ivr2:1/000.wav" CURLOPT_POST => true CURLOPT_POSTFIELDS => "media/wav" CURLOPT_HTTPHEADER => 'Content-type: multipart/form-data' CURLOPT_RETURNTRANSFER => true
אם תוכל לאמר לי מה לתקן! תודה.
-
שורה 3 לא נכונה כי אתה מעלה טקסט
-
@מנסה
זה סתם בשביל הדוגמה!
אני צריך בסופו של דבר שיעלה קובץ שמע, מה לשנות?
(ערכתי)
ואיך ידע מאיזה תיקייה להעלות את הקובץ? -
אתה צריך להגדיר את $fail
כמו בדוגמא של שמואל
$target = $file; = כאן במקום המשתנה תכניס נתיב לקובץ שלך $target = $target.basename($_FILES['uploaded']['name']) ; ואת זה אח"כ $file = new CURLFile($target,'media/wav');
-
@מנסה
עוד משהו להוסיף?$target = "/abc/a.wav"; $target = $target.basename($_FILES['uploaded']['name']) ; $file = new CURLFile($target,'media/wav'); CURLOPT_URL =>"https://$url/ym/api/UploadFile?token=0773137770:123456&path=ivr2:1/000.wav CURLOPT_POST => true CURLOPT_POSTFIELDS => $file CURLOPT_HTTPHEADER => 'Content-type: multipart/form-data CURLOPT_RETURNTRANSFER => true
-
@מנסה
זה מה שהרצתי<?php $target = "/recordes/a.3pgg"; $target = $target.basename($_FILES['uploaded']['name']) ; $file = new CURLFile($target,'media/wav'); $curl = curl_init(); curl_setopt_array($curl,array( CURLOPT_URL =>"https://www.call2all.co.il/ym/api/UploadFile?token=077xxxxx0:123456&path=ivr2:/111", CURLOPT_POST => true, CURLOPT_POSTFIELDS => $file, CURLOPT_HTTPHEADER => 'Content-type: multipart/form-data', CURLOPT_RETURNTRANSFER => true, ) ); $response = curl_exec($curl); $status = curl_getinfo($curl, CURLINFO_HTTP_CODE); curl_close($curl); $response = json_decode($response, true); echo $response; ?>
זה מה שיצא לי
502 Bad Gateway
מה זה אומר? -
@מנסה
עכשיו הרצתי את הקוד הזה:<?php $url = "https://call2all.co.il/ym/api/UploadFile?token=0773137770:123456&path=ivr2:/11.wav"; $file = "/recordes/1870.wav"; $target = $file; $target = $target.basename($_FILES['uploaded']['name']) ; $file = new CURLFile($target,'media/wav'); $parm['upload'] = $file; $headers = array('Content-type: multipart/form-data'); $curl = curl_init(); curl_setopt_array($curl,array( CURLOPT_URL => $url, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $parm, CURLOPT_HTTPHEADER => $headers, CURLOPT_RETURNTRANSFER => true, ) ); $response = curl_exec($curl); $status = curl_getinfo($curl, CURLINFO_HTTP_CODE); curl_close($curl); $response = json_decode($response, true); echo $response; ?>
והוא לא מראה לי שום שגיאה וגם לא מעלה כלום!
יש מצב שתוכל להגיד לי מה הטעות שלי?! תודה!!!