לא נפתר איך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?
-
@ד-ב @לעזור-לכולם @שואל-ברצינות אני אסביר מה אני רוצה ומה עשיתי וכו'.
אני רוצה לעשות הקלטה במערכת אחת, ואח"כ להעתיק את ההקלטה למערכת אחרת, לכן לקחתי קודם את הקוד להקלטת קובץ ב-API שהביא @קו-מהיר בפוסט הזה, אח"כ עשיתי שיריץ קוד להורדת קובץ, ואח"כ שיריץ את הקוד שהביא @מנסה בפוסט הזה וזהו.
הקודים שיצאו לי הם כדלהלן (אני מבין שחסר כאן דברים, אשמח להסבר מה בדיוק חסר כאן).
הקוד של ההקלטה וההעתקה:<?php $ApiDID1 = $_GET['ApiDID']; $pass1 = $_GET['pass']; $path = $_GET['path']; $ApiDID2 = $_GET['ApiDID2']; $pass2 = $_GET['pass2']; $go_to_folder = $_GET['go_to']; $mn1=99999;//שלוחה $mn1_record = $_GET['mn1_record']; if ($mn1_record == NULL){ echo "read=t-אנא הקליטו את הודעתכם לאחר הצליל בסיום הקישו סולמית=mn1_record,no,record,/$mn1,,,,";exit(); }// עד כאן אם שווה לכלום מקליט לו $ss = uploadFile($ApiDID1,$pass1,$path,$kovts); $sz = uploadFile($ApiDID2,$pass2,$path,$kovts); print"id_list_message=t-ההודעה הוקלטה בהצלחה&go_to_folder=$go_to_folder&"; ?>
הקוד של @מנסה להעלאה:
<?php //מעלה קובץ שמע לימות //צריך לשלוח 4 פרמטרים, token, path, ו- file - שם הקובץ להעלאה if(isset($_POST["submit"])) { $kovts=$_FILES['upload']['tmp_name']; $smkovts=$_FILES['upload']['name']; function uploadFile( $token ,$path ,$file) { $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; } ?>
-
קודם כל כדאי גם שתעתיק את ההגדרות בשלוחה
בקוד של ההקלטה :
- האם ההקלטה אכן נכנסת לשלוחה 99999 ?
- שים לב בשורה 16 ו17 יש את אותה הפקודה וזה לא צריך להיות פעמיים
- האם כתבת את שי הקודים בשתי קבצים שונים? אם כן אז תייבא קובץ אחד לשני [include]
- וזה העיקר, שים לב שבעת קריאת הפונקצייה של @@מנסה בשורה 16 לא נתת לו את שם הקובץ
-
@לעזור-לכולם אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:
האם ההקלטה אכן נכנסת לשלוחה 99999 ?
כן
@לעזור-לכולם אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:
שים לב בשורה 16 ו17 יש את אותה הפקודה וזה לא צריך להיות פעמיים
אני רוצה להעתיק את זה לשני מקומות, זה בסדר לעשות ככה?
@לעזור-לכולם אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:
האם כתבת את שי הקודים בשתי קבצים שונים? אם כן אז תייבא קובץ אחד לשני [include]
איך מייבאים? אשמח אם תוכל להסביר לי...
@לעזור-לכולם אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:
וזה העיקר, שים לב שבעת קריאת הפונקצייה של @@מנסה בשורה 16 לא נתת לו את שם הקובץ
איך יש לי את שם הקובץ? הרי זה יורד ואין לי את השם?
-
אני רוצה להעתיק את זה לשני מקומות, זה בסדר לעשות ככה?
כן זה בסדר גמור, לא שמתי לב, מתנצל.
איך מייבאים? אשמח אם תוכל להסביר לי...
מה הוא שם הקובץ שבה יש הקוד של @@מנסה?
איך יש לי את שם הקובץ? הרי זה יורד ואין לי את השם?
איפה כתבת בקוד שזה ירד? [זה נכנס לשלוחה אבל לא יורד לשרת שלך]
-
@לעזור-לכולם אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:
איפה כתבת בקוד שזה ירד? [זה נכנס לשלוחה אבל לא יורד לשרת שלך]
סליחה, טעיתי...
<?php $ApiDID1 = $_GET['ApiDID']; $pass1 = $_GET['pass']; $path = $_GET['path']; $ApiDID2 = $_GET['ApiDID2']; $pass2 = $_GET['pass2']; $go_to_folder = $_GET['go_to']; $mn1=99999;//שלוחה $mn1_record = $_GET['mn1_record']; if ($mn1_record == NULL){ echo "read=t-אנא הקליטו את הודעתכם לאחר הצליל בסיום הקישו סולמית=mn1_record,no,record,/$mn1,,,,";exit(); }// עד כאן אם שווה לכלום מקליט לו $mahale = file_get_contents("https://www.call2all.co.il/ym/api/DownloadFile?token=$ApiDID1:$pass1&path=ivr2:$mn1/000.wav"); $ss = uploadFile($ApiDID1,$pass1,$path,$kovts); $sz = uploadFile($ApiDID2,$pass2,$path,$kovts); print"id_list_message=t-ההודעה הוקלטה בהצלחה&go_to_folder=$go_to_folder&"; ?>
@לעזור-לכולם אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:
מה הוא שם הקובץ שבה יש הקוד של @@מנסה?
uploadFile.php
-
include 'uploadFile.php';
-
@לעזור-לכולם אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:
include 'uploadFile.php';
בנוסף לשורות הנ"ל, נכון?
-
@שמואל-ש אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:
איך יש לי את שם הקובץ? הרי זה יורד ואין לי את השם?
-
@שמואל-ש אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:
בנוסף לשורות הנ"ל, נכון?
נכון
(לפני קריאת הפונקציה) -
$mahale = file_get_contents("https://www.call2all.co.il/ym/api/DownloadFile?token=$ApiDID1:$pass1&path=ivr2:$mn1/000.wav"); $ss = uploadFile($ApiDID1,$pass1,$path,$mahale ); $sz = uploadFile($ApiDID2,$pass2,$path,$mahale );
שים לב שיניתי את הפרמטר הרביעי בקריאת הפונקציה
-
@שמואל-ש
מחכה לעדכון האם זה כבר עובד -
@לעזור-לכולם אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:
@שמואל-ש
מחכה לעדכון האם זה כבר עובדהוא מקליט, אבל אח"כ אין מענה...
אגב, ההקלטה שנוצרת היא בשם 0 ולא 000, למה? וזה קשור? -
@לעזור-לכולם אני זז לדקה וכבר חוזר.
סורי -
@לעזור-לכולם בדקת מה יכול להיות הטעות?
-
@שמואל-ש אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:
אני רוצה בפקודת API להעתיק קובץ ממערכת אחת לשניה, איך אפשר?
יצרתי סקריפט בפייתון שעושה את זה,
משהו טיפה יותר משוכלל,
עם קובץ בשלוחה הראשית ששם אתה כותב את הנתיבים של השלוחות שאתה רוצה שאסרוק,
ואז כל כמה דקות אני סורק את השלוחות ואני מוריד את הקבצים אליי, ואז מעלה אותם למערכת השניה,וישר אחרי זה מוחק ממני,
בניתי אופציה להגדיר כל כמה זמן לסרוק (מינימום 3 דקות) וזה משתנה ישר בסריקה הבאה,
אם אתה רוצה (בתשלום) תשלח מייל ל cs@mgmivr.com
ניתן גם לפתח שכל קובץ חדש יעלה לדרייב\ ישלח למייל וכו -
@MGM-IVR תודה, אבל כרגע התחלתי לעשות משהו לבד, אז אני יותר בכיוון לתקן את זה (כמו ש @לעזור-לכולם עזר לי פה) מלשלם.
-
@שמואל-ש
בלי קשר לאמור לעיל
אם אתה מריץ את הקובץ PHP על שרת פרטי שלך
ויש לך גישה לשורת הפקודה שלו
יש אפשרות פשוטה וקלה להעביר קבצים ממערכת אחת לאחרת באמצעות ftp בשורת הפקודה (בדומה לFilaZilla של ויינדוס). ניתן להריץ את הפקודה גם דרך קובץ PHP
שורה אחת להורדת הקובץ, ושורה אחת להעלאת הקובץ
(חוסף בקוד, וכמובן במשאבים ובזמן ריצה) -
@amp-Software-0
1.אין לי את פרטיי ה-FTP של השני
2.האם הוא יכול לעשות את זה אוטומטית כל הזמן בזמן אמת-שיריץ כל הזמן אם יש קובץ במיקום פלוני שיוריד אותו ויעלה אותו למערכת השניה? -
- תבקש מימות ftp גם לשני..
- שוב דבר לא קורה בלי טריגר, אתה תצטרך או להגדיר בשרת תזמון להריץ את הקוד הזה כל דקה, או להגדיר שהוספת הקובץ במערכת תפעיל את הקוד הזה
-
@amp-Software-0 אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:
או להגדיר שהוספת הקובץ במערכת תפעיל את הקוד הזה
איך?
ובא נראה, אולי @לעזור-לכולם או מישהו אחר יעלה על הבעיה בקוד אז ננסה את שלי, ואם לא אז הרעיון שלך נראה לי רעיון יפה