העלאת קובץ שמע מקישור מוגדר
-
@דוד-5555 אמר בהעלאת קובץ שמע מקישור מוגדר:
יש לי משתנה שמכיל קישור לאיזה קובץ שמע שאני מעוניין להעלות, אני יכול להשתמש במה שהביאו כאן אבל אז אני צריך להשתמש בכל המחלקה, אני מחפש פיתרון קצר יותר (באמצעות CURL כנראה)
מצאתי דוגמאות לקודים כאן בפורום אבל לא למקרה שהקישור כבר נמצא בתוך משתנה,
אשמח לעזרתכם!אני חושב שאם תעשה העלאה רגילה לגמרי, ובמקום נתיב למחשב תשים את הקישור זה יעבוד.
גם אם לא יש אופציה להוריד ולהעלות אחרי רגע, בשרת זה שניות להוריד קבצים. -
@MGM-IVR אמר בהעלאת קובץ שמע מקישור מוגדר:
אני חושב שאם תעשה העלאה רגילה לגמרי, ובמקום נתיב למחשב תשים את הקישור זה יעבוד.
ניסתי לעשות משהו כזה לקוד שהביא כאן אבל לא הצליח לי
-
@דוד-5555
האם הקישור שלך מכיל את הקובץ עצמו (Blob) או שהוא מקשר לדף שמנגן את הקובץ? -
@amp-Software-0 קישור להורדה ישירה
-
-
פוסט זה נמחק! -
@amp-Software-0 זה לא מעלה לי לשלוחה, זה עושה איזה תקייה בשלוחה בשם https
-
@דוד-5555 נכון. כמו ש @MGM-IVR כתב לעיל, אין אפשרות להעלות קובץ באמצעות curl על ידי קישור מרוחק (על ידי ספריות אחרים אפשר)
אם כן צריך קודם כל להוריד לשרת שלך ואז להעלות, מצו"ב קוד שרלוונטי בשבילך, בהנחה שלמשתנה שמכיל את הקישור קוראיםurl
(הקובץ ישמר בתחילה בתיקיה שממנה את מריץ את הקוד בשם file.wav, ומשם יעלה למערכת, שים לב להקפיד שבתיקיה שממנה את מריץ את הקובץ יש הרשאה ליצירת קובץ, אם לא תצטרך לציין נתיב של תיקיה שיש בה הרשאות חופשיות (כמו tmp)<?php $token = "0773130000:1234"; $path = "ivr2:folder"; $file = $url; $YemotUrl = 'https://www.call2all.co.il/ym/api/UploadFile'; $headers = array( 'Content-type: multipart/form-data' ); file_put_contents("file.wav", file_get_contents($file,true)); $target = new CURLFile("file.wav", 'media/wav'); $parm['upload'] = $target; $parm['token'] = $token; $parm['path'] = $path . '/' . $target->getFilename(); $curl = curl_init(); curl_setopt_array( $curl, array( CURLOPT_URL => $YemotUrl, 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); echo $response;
-
@amp-Software-0 אלפי תודות, זה מעלה את הקובץ רק יש את הפרמטר של המיספור אוטומטי, שייך להוסיף את זה?
עריכה: לבסוף הוספתי את הפונקצייה הידועה לכך שמסתובבת בפורום
-
@amp-Software-0 אמר בהעלאת קובץ שמע מקישור מוגדר:
@דוד-5555 נכון. כמו ש @MGM-IVR כתב לעיל, אין אפשרות להעלות קובץ באמצעות curl על ידי קישור מרוחק (על ידי ספריות אחרים אפשר)
אם כן צריך קודם כל להוריד לשרת שלך ואז להעלות, מצו"ב קוד שרלוונטי בשבילך, בהנחה שלמשתנה שמכיל את הקישור קוראיםurl
(הקובץ ישמר בתחילה בתיקיה שממנה את מריץ את הקוד בשם file.wav, ומשם יעלה למערכת, שים לב להקפיד שבתיקיה שממנה את מריץ את הקובץ יש הרשאה ליצירת קובץ, אם לא תצטרך לציין נתיב של תיקיה שיש בה הרשאות חופשיות (כמו tmp)<?php $token = "0773130000:1234"; $path = "ivr2:folder"; $file = $url; $YemotUrl = 'https://www.call2all.co.il/ym/api/UploadFile'; $headers = array( 'Content-type: multipart/form-data' ); file_put_contents("file.wav", file_get_contents($file,true)); $target = new CURLFile("file.wav", 'media/wav'); $parm['upload'] = $target; $parm['token'] = $token; $parm['path'] = $path . '/' . $target->getFilename(); $curl = curl_init(); curl_setopt_array( $curl, array( CURLOPT_URL => $YemotUrl, 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); echo $response;
זה יעבוד גם על קישור לדף שמנגן את הקובץ?
-
@דוד_מלך_ישראל
כמובן שלא.
הדף יעלה, לא הקובץ שמע -
@amp-Software-0 קישור להורדה מדרייב?
עריכה: בדקתי ועובד, תודה. -
@amp-Software-0 אמר בהעלאת קובץ שמע מקישור מוגדר:
@דוד-5555 נכון. כמו ש @MGM-IVR כתב לעיל, אין אפשרות להעלות קובץ באמצעות curl על ידי קישור מרוחק (על ידי ספריות אחרים אפשר)
אם כן צריך קודם כל להוריד לשרת שלך ואז להעלות, מצו"ב קוד שרלוונטי בשבילך, בהנחה שלמשתנה שמכיל את הקישור קוראיםurl
(הקובץ ישמר בתחילה בתיקיה שממנה את מריץ את הקוד בשם file.wav, ומשם יעלה למערכת, שים לב להקפיד שבתיקיה שממנה את מריץ את הקובץ יש הרשאה ליצירת קובץ, אם לא תצטרך לציין נתיב של תיקיה שיש בה הרשאות חופשיות (כמו tmp)<?php $token = "0773130000:1234"; $path = "ivr2:folder"; $file = $url; $YemotUrl = 'https://www.call2all.co.il/ym/api/UploadFile'; $headers = array( 'Content-type: multipart/form-data' ); file_put_contents("file.wav", file_get_contents($file,true)); $target = new CURLFile("file.wav", 'media/wav'); $parm['upload'] = $target; $parm['token'] = $token; $parm['path'] = $path . '/' . $target->getFilename(); $curl = curl_init(); curl_setopt_array( $curl, array( CURLOPT_URL => $YemotUrl, 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); echo $response;
אני מעוניין שהטוקן לא יהיה מוגדר מראש, אלא אני אוכל לשלוח כל פעם טוקן אחר, אני מנסה לשלוח אותו מהשלוחה וזה לא מצליח, איך אפשר לעשות את זה?
-
@דוד_מלך_ישראל אמר בהעלאת קובץ שמע מקישור מוגדר:
$token = "0773130000:1234";
אתה צריך להכניס למשתנה הזה את הפרמטר שאתה שולח מהשלוחה
-
-
@דוד_מלך_ישראל זה הקוד:
<?php $token = $_GET['token']; $path = "ivr2:folder"; $file = $url; $YemotUrl = 'https://www.call2all.co.il/ym/api/UploadFile'; $headers = array( 'Content-type: multipart/form-data' ); file_put_contents("file.wav", file_get_contents($file,true)); $target = new CURLFile("file.wav", 'media/wav'); $parm['upload'] = $target; $parm['token'] = $token; $parm['path'] = $path . '/' . $target->getFilename(); $curl = curl_init(); curl_setopt_array( $curl, array( CURLOPT_URL => $YemotUrl, 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); echo $response;
בשלוחה:
api_add_0=token=077777777:1234
-
@Liy תודה! עזרת לי מאד.
-
@amp-Software-0 איך אפשר להעלות קבצים ששוקלים יותר מ 50 מ''ב? הבנתי שזה אמור להיות בשלבים השאלה היא האם שייך (ואיך) להוסיף את זה בקוד
תודה רבה! -
-