איך מעלים קובץ שמע בAPI עם הפונקציה של שמואל?
-
תגובה: עזרה | העלאת קובץ מהשרת למערכת
@שמואל אפשר קצת יותר הסבר? -
@mgm-ivr https://f2.freeivr.co.il/post/67827
מה יותר מזה? -
זה לא עובד, נכון [כמו שכתבת בעצמך שזה צריך עריכה]
אנחנו מחפשים או הסבר או קובץ מוכן...
כולל הסבר על שילוב עם טופס העלאה וכדו'
אולי לא יפה לבקש, אבל תודה רבה
-
@שמואל אמר באיך מעלים קובץ שמע בAPI עם הפונקציה של שמואל?:
@mgm-ivr https://f2.freeivr.co.il/post/67827
מה יותר מזה?לא הבנתי איפה אני רושם את שם הקובץ
יש שם כמה פעמים FILEכשאני קורא לפונקציה תוכל להביא ערכים לדוגמא?
;uploadFile($isPrivate, $ws, $parm, $file)
איפה מכניסים טוקן?קיצור אשמח מאוד אם תתן הסבר קצר איך משתמשים עם זה
-
@mgm-ivr @מנסה
ערכתי את הקוד של @שמואל לשימוש ציבורי
זה הקודfunction uploadFile($isPrivate, $token ,$path ,$file) { if ($isPrivate) { $YemotUrl = 'https://private.call2all.co.il/ym/api/'; } else { $YemotUrl = 'https://www.call2all.co.il/ym/api/'; } $headers = array( 'Content-type: multipart/form-data' ); $url = $YemotUrl . 'UploadFile'; $target = new CURLFile($file,'media/wav'); $parm['upload'] = $target; $parm['token'] = $token; $parm['path'] = $path . '/' . $target->getFilename(); $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); return $response; }
צריך לשלוח 4 פרמטרים
isPrivate
- ערך בוליאני אם המערכת בשרת פרייבט,token
,path
, ו-file
- שם הקובץ להעלאהדוגמא
uploadFile(false,'0773137770:2580','ivr2:/1','M1024.wav');
בדוגמא הקובץ נמצא באותה תיקיה של קובץ ה php, במידה והקובץ להעלאה נמצא בתיקיה משנית (הנקראת לדגומא subFolder) יש להזין כך:
uploadFile(false,'0773137770:2580','ivr2:/1','subFolder/M1024.wav');
הפונקציה מחזירה אובייקט json עם נתוני הפעולה, ניתן לקבל אותו גם כסטרינג כמובן
-
@amp-software-0 אמר באיך מעלים קובץ שמע בAPI עם הפונקציה של שמואל?:
@mgm-ivr @מנסה
ערכתי את הקוד של @שמואל לשימוש ציבורי
זה הקודfunction uploadFile($isPrivate, $token ,$path ,$file) { if ($isPrivate) { $YemotUrl = 'https://private.call2all.co.il/ym/api/'; } else { $YemotUrl = 'https://www.call2all.co.il/ym/api/'; } $headers = array( 'Content-type: multipart/form-data' ); $url = $YemotUrl . 'UploadFile'; $target = new CURLFile($file,'media/wav'); $parm['upload'] = $target; $parm['token'] = $token; $parm['path'] = $path . '/' . $target->getFilename(); $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); return $response; }
צריך לשלוח 4 פרמטרים
isPrivate
- ערך בוליאני אם המערכת בשרת פרייבט,token
,path
, ו-file
- שם הקובץ להעלאהדוגמא
uploadFile(false,'0773137770:2580','ivr2:/1','M1024.wav');
בדוגמא הקובץ נמצא באותה תיקיה של קובץ ה php, במידה והקובץ להעלאה נמצא בתיקיה משנית (ה
הפונקציה מחזירה אובייקט json עם נתוני הפעולה, ניתן לקבל אותו גם כסטרינג כמובןתודה רבה
-
@mgm-ivr
אין בעד מה
בטעות הכנסתי בודגמא השניה פרטים של לקוח שלי
את ההודעה שלי ערכתי, אבל הם עדיין מופיעים בציטוט של ההודעה שלי - בהודעה שלך
אבקש שתערוך את ההודעה שלך ותמחוק את הפרטים המזהים
בתודה מראשש -
@amp-software-0 אמר באיך מעלים קובץ שמע בAPI עם הפונקציה של שמואל?:
@mgm-ivr
אין בעד מה
בטעות הכנסתי בודגמא השניה פרטים של לקוח שלי
את ההודעה שלי ערכתי, אבל הם עדיין מופיעים בציטוט של ההודעה שלי - בהודעה שלך
אבקש שתערוך את ההודעה שלך ותמחוק את הפרטים המזהים
בתודה מראששערכתי
סליחה שלא שמתי לב מיד
ותודה למי שהפנה את תשומת ליבי באישי למה שכתבת...
( @ערוץ-הסקרים התותח!) -
דבר ראשון תודה רבה ענק
דבר שני הוא לא ממיר את הקובץ
או שלא הבנתי משהו
זאת אומרת צירפתי את הטופס של HTML שאיתו אפשר לעלות לשרת לקוד שכתבת וזה עולה, אבל בלי המרה
דבר נוסף, השם של הקובץ והכתובת של הקובץ [החלק של השם] הם ביחד, בפרמטר הרביעי, אבל כשמעלים קובץ לשרת באופן זמני, השם מאוחסן בNAME, והכתובת ב tmp_name
מה שקורה שהקובץ עולה עם שם ארוך זמני
[עריכה: הצלחתי לסדר, הוספתי עוד משתנה, ושיניתי את הנתיב בפרמטר השלישי שיכלול גם את שם הקובץ ומחקתי את צירוף שם הקובץ האוטומטי משם.]תודה רבה
-
טוב, תכלס אתה ענק...
כי בסוף הצלחתי אני אעלה פה את הקוד המלא וכל הקרדיט כמובן שמור ל @amp-Software-0 הגדול, שערך את הקוד של @שמואל הענק.
אז הנה הקוד כולל טופס שניתן להכניס מה שרוצים והכל נכנס מיד [ ללא שרואים את הפרמטרים שלכם, מי שרוצה יש להוסיף אבטחה שהקובץ הוא באמת media וכו'].
<?php //מעלה קובץ שמע לימות //צריך לשלוח 4 פרמטרים // isPrivate - ערך בוליאני אם המערכת בשרת פרייבט, token, path, ו- file - שם הקובץ להעלאה if(isset($_POST["submit"])) { $kovts=$_FILES['upload']['tmp_name']; $smkovts=$_FILES['upload']['name']; function uploadFile($isPrivate, $token ,$path ,$file) { if ($isPrivate) { $YemotUrl = 'https://private.call2all.co.il/ym/api/'; } else { $YemotUrl = 'https://www.call2all.co.il/ym/api/'; } $headers = array( 'Content-type: multipart/form-data' ); $url = $YemotUrl . 'UploadFile'; $target = new CURLFile($file,'media/wav'); $parm['convertAudio'] = 1; $parm['upload'] = $target; $parm['token'] = $token; $parm['path'] = $path ; $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); return $response; } //קריאה לפונקציה ו4 הפרמטרים דוגמא $ss = uploadFile(false,'077000000:1234','ivr2:/1/M1990',$kovts); //מראה את התשובה מימות, ניתן כמובן לבטל או להציג משהו אחר print_r ($ss); exit; } ?> <!DOCTYPE html> <html> <!-- מעלה קובץ לשרת בטופס מכוון מראש --> <!-- B.H. --> <head> <meta charset="utf-8"> <title>API Upload test</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="icon" type="image/png" href="res/icon64x64.png"> <meta name="robots" content="noindex, nofollow"> </head> <body> <p>B.H.</p> <!-- הכתובת להעלאה [ בשרת פרייבט יש להחליף] --> <form action="" method="POST" enctype="multipart/form-data" target="_blank"> <!-- תיבת הכנסת הקובץ על ידי המשתמש --> <p> <input type="file" name="upload" accept="audion/*"> </p> <!-- לחצן שלח טופס --> <p> <input type="submit" name="submit"> </p> </form> </body></html>
-
@מנסה הכנסתי את הקוד שלך לשרת
אין מקום להכניס את הטוקן ואת המיקום להעלאה
זה בכוונה ככה ? -
@חוויה-טלפונית
בוודאי זה מיועד להעלאה בשילוב PHP בשרת שלךהרעיון הוא שזה לתת אופציה להעלאה ללא מסירת שליטה על הקו
את הטוקן מכניסים בקובץ המפעיל
להעלאת קבצים עם הכנסת טוקן יש לימות בפורום טופס
(תחפש בפוסט של העלאת קבצים בApi) -
פוסט זה נמחק!