• הרשמה
    • התחברות
    • חיפוש
    • דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • קבלת התראות מהדפדפן
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private

    לא נפתר איך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?

    פורום מפתחים API
    6
    63
    1834
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • A
      amp Software 0 @שמואל ש. נערך לאחרונה על ידי amp Software 0

      @שמואל-ש
      זה קוד מוכן להעברת קבצים בין שני מערכות
      אתה צריך לעדכן את המשתנים למארח, משתמש וסיסמה של שני המערכות
      וכן לציין את הנתיב ואת שם הקובץ להעברה, וכן את הנתיב לשמירה
      צורת הפעולה היא:

      1. הורדת הקובץ ממערכת A לתיקיה זמנית בשרת
      2. העלאת הקובץ מהתיקיה הזמנית בשרת למערכת B
      3. מחיקת הקובץ מהתיקיה הזמנית
        (לא ידוע לי על טרנספומציה בין שני שרתי ftp בלי תיווך של תיקית לוכלית)
      
      <?php
      
      //מארח מערכת 1
      $ivr1_HOST = "ftp.ymta.freeivr.co.il";
      //משתמש מערכת 1
      $ivr1_USER = "0773137770";
      // סיסמה מערכת 1
      $ivr1_PASS = "abcdefghijklmnopkrstuvwxyz";
      // תיקיה בה מאוחסן הקובץ להעברה
      $ivr1_FOLDER = "/ivr/test";
      //שם הקובץ להעברה כולל סיומת
      $FILE = "test.wav";
      
      //מארח מערכת 2
      $ivr2_HOST = "ftp.ymta.freeivr.co.il";
      //משתמש מערכת 2
      $ivr2_USER = "0773137770";
      //סיסמה מערכת 2
      $ivr2_PASS = "abcdefghijklmnopkrstuvwxyz";
      //תיקיה לשמירת הקובץ המועבר
      $ivr2_FOLDER = "/ivr/test1";
      
      
      //התחברות לשרת ftp מערכת 1
      $ftp_conn_ivr1 = ftp_connect($ivr1_HOST);
      ftp_login($ftp_conn_ivr1, $ivr1_USER, $ivr1_PASS);
      //קבלת הקובץ לתיקיה זמנית בשרת
      ftp_get($ftp_conn_ivr1, "/tmp/$FILE", "$ivr1_FOLDER/$FILE", FTP_ASCII);
      //סגירת חיבור ftp
      ftp_close($ftp_conn_ivr1);
      
      // התחברת לשרת ftp מערכת 2
      $ftp_conn_ivr2 = ftp_connect($ivr2_HOST);
      ftp_login($ftp_conn_ivr2, $ivr2_USER, $ivr2_PASS);
      //העלאת הקובץ מתיקיה זמנית בשרת
      ftp_put($ftp_conn_ivr2, "$ivr2_FOLDER/$FILE","/tmp/$FILE", FTP_ASCII);
      //סגירת החיבור ftp
      ftp_close($ftp_conn_ivr2);
      
      //מחיקת הקובץ הזמני
      unlink("/tmp/$FILE");
      
      

      תשמור את זה בקובץ PHP ותיצור שלוחה שתקרא לקובץ הזה אחרי כל שמירה של קובץ כל שהוא במערכת A
      או לחילופין תיצור טריגר שיריץ את הקובץ הזה כל דקה
      כמובן שאם שם הקובץ לא ידוע מראש תצטרף להוסיף כאן איזושהיא פונקציה שתגדיר תחילה את שם הקובץ

      ש 3 תגובות תגובה אחרונה תגובה ציטוט 2
      • M
        MGM IVR @amp Software 0 נערך לאחרונה על ידי MGM IVR

        @amp-Software-0 אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

        @MGM-IVR אני לא בטוח שהבנת מה התכוונתי
        אני יודע היטב מה זה לולאה אין סופית.. אין צורך להסביר
        השאלה היא מי יריץ את הלולאה הזו, לדוגמא, אם אתה תריץ דף php בדפדפן אז אחרי זמן כל שהוא שהוא לא מחזיר כלום הוא פשוט יחזיר טיימאוט
        אין אפשרות להריץ סקריפט כל שהוא בלי טריגר מפעיל וטריגר מסיים
        מקוה שהובנתי

        למשל תשמור קובץ filename.php

        <?php
        while(1<2){
            print "hi";
        }
        ?>
        

        ואז תעשה ב terminal

         php filename.php
        

        וזה ירוץ אינסופי עד שתעצור את שורת הפקודה,
        ואם יש לך דוקר (docker) אז אתה מריץ מהשרת וזה רץ כל הזמן

        תגובה 1 תגובה אחרונה תגובה ציטוט 2
        • ש
          שמואל ש. @amp Software 0 נערך לאחרונה על ידי שמואל ש.

          @amp-Software-0 אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

          ותיצור שלוחה שתקרא לקובץ הזה

          איך? משהו כמו זה

          <?php
          {
          $ss = uploadFile();
          }  
          ?>
          
          

          ??

          תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • ש
            שמואל ש. @amp Software 0 נערך לאחרונה על ידי שמואל ש.

            @amp-Software-0 אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

            משתמש וסיסמה של שני המערכות

            הבעיה היא, שבפרטים שמקבלים מימות המשיח לגישה ל-ftp, מקבלים שם משתמש וסיסמה שהם מיועדים עבור כל המערכות שביקשו ולא מיוחד למערכת אחת, אז לאיפה אני מכניס את מספר המערכת הספציפית?

            תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • ש
              שמואל ש. @amp Software 0 נערך לאחרונה על ידי

              @amp-Software-0 הרצתי את הקובץ עצמו בדפדפן, ולמעשה לא נהיה כלום!
              הכנסתי בנתיב הקובץ, אחרי הסלש הראשון הכנסתי את מספר המערכת ואחריו את הנתיב.
              אגב, שים לב שלא שמת בסוף

              ?>
              
              A תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • A
                amp Software 0 @שמואל ש. נערך לאחרונה על ידי

                @שמואל-ש אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

                אחרי הסלש הראשון הכנסתי את מספר המערכת

                מספר המערכת תרשום רק במשתנה המיועד לכך, בנתיב לרשום רק נתיב

                @שמואל-ש אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

                אגב, שים לב שלא שמת בסוף

                זה לא חובה (אא"כ רוצים לאכלס בדף תוכן HTML לדוגמא)

                ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • ש
                  שמואל ש. @amp Software 0 נערך לאחרונה על ידי

                  @amp-Software-0 אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

                  מספר המערכת תרשום רק במשתנה המיועד לכך, בנתיב לרשום רק נתיב

                  @שמואל-ש אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

                  הבעיה היא, שבפרטים שמקבלים מימות המשיח לגישה ל-ftp, מקבלים שם משתמש וסיסמה שהם מיועדים עבור כל המערכות שביקשו ולא מיוחד למערכת אחת,

                  דהיינו, השם משתמש שם זה לא מספר מערכת אלא שם משתמש שמקבלים מימות, אז איפה רושמים את מספר המערכת?

                  A תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • A
                    amp Software 0 @שמואל ש. נערך לאחרונה על ידי amp Software 0

                    @שמואל-ש
                    שני המערכות יושבות על אותו חשבון ftp?
                    אז הקוד הוא הרבה יותר פשוט, העברה מנתיב אחד לנתיב אחר... לא צריך את ההורדה לשרת הפרטי
                    בכל אופן, לא הבנתי אותך נכון, אני מכיר בדר"כ חשבון ftp לכל מערכת, אם יש לך חשבון אחד לכמה מערכות וזה מחולק לתיקיות לפי מספר מערכת, והמספר מערכת מופיע כתיקיה, אז אכן יש להכניס את מספר המערכת כיון שהיא חלק מהנתיב

                    ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
                    • ש
                      שמואל ש. @amp Software 0 נערך לאחרונה על ידי

                      @amp-Software-0 זה לא אותו חשבון, רק בחשבון הראשון יש לי שם משתמש וסימה אחד לארבע מערכות, לכן א"א לכתוב רק משתמש וסיסמה כיוון שהם לא יחודיים.
                      ועשיתי אכן שיהיה מספר מערכת לפני הניתוב והרצתי את הקוד בדפדפן ולא נהיה כלום...

                      A תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • A
                        amp Software 0 @שמואל ש. נערך לאחרונה על ידי

                        @שמואל-ש
                        השאלה היא מאוד פשוטה
                        האם בחשבון ה ftp מופיע לך מספר המערכת כתיקיה, כחלק מהנתיב?
                        אולי תעלה כאן את הקוד שעשית בניכוי פרטים מזהים

                        ש 2 תגובות תגובה אחרונה תגובה ציטוט 0
                        • ש
                          שמואל ש. @amp Software 0 נערך לאחרונה על ידי

                          @amp-Software-0 אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

                          האם בחשבון ה ftp מופיע לך מספר המערכת כתיקיה, כחלק מהנתיב?

                          כן

                          @amp-Software-0 אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

                          אולי תעלה כאן את הקוד שעשית בניכוי פרטים מזהים

                          שניה

                          תגובה 1 תגובה אחרונה תגובה ציטוט 0
                          • ש
                            שמואל ש. @amp Software 0 נערך לאחרונה על ידי

                            @amp-Software-0 אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

                            אולי תעלה כאן את הקוד שעשית בניכוי פרטים מזהים

                            <?php
                             
                            //מארח מערכת 1
                            $ivr1_HOST = "ymt.ftp.yemot.co.il";
                            //משתמש מערכת 1
                            $ivr1_USER = "******";
                            // סיסמה מערכת 1
                            $ivr1_PASS = "******";
                            // תיקיה בה מאוחסן הקובץ להעברה
                            $ivr1_FOLDER = "/0773137770/ivr/99999";
                            //שם הקובץ להעברה כולל סיומת
                            $FILE = "000.wav";
                            //תיקיה לשמירת הקובץ המועבר
                            $ivr1_FOLDER = "/0773137770/ivr/11";
                             
                            //מארח מערכת 2
                            $ivr2_HOST = " ymt.ftp.yemot.co.il";
                            //משתמש מערכת 2
                            $ivr2_USER = "***";
                            //סיסמה מערכת 2
                            $ivr2_PASS = "***";
                            //תיקיה לשמירת הקובץ המועבר
                            $ivr2_FOLDER = "/0772222770/ivr/15";
                             
                             
                            //התחברות לשרת ftp מערכת 1
                            $ftp_conn_ivr1 = ftp_connect($ivr1_HOST);
                            ftp_login($ftp_conn_ivr1, $ivr1_USER, $ivr1_PASS);
                            //קבלת הקובץ לתיקיה זמנית בשרת
                            ftp_get($ftp_conn_ivr1, "/tmp/$FILE", "$ivr1_FOLDER/$FILE", FTP_ASCII);
                            //העלאת הקובץ מתיקיה זמנית בשרת
                            ftp_put($ftp_conn_ivr1, "$ivr1_FOLDER/$FILE","/tmp/$FILE", FTP_ASCII);
                            //סגירת חיבור ftp
                            ftp_close($ftp_conn_ivr1);
                             
                            // התחברת לשרת ftp מערכת 2
                            $ftp_conn_ivr2 = ftp_connect($ivr2_HOST);
                            ftp_login($ftp_conn_ivr2, $ivr2_USER, $ivr2_PASS);
                            //העלאת הקובץ מתיקיה זמנית בשרת
                            ftp_put($ftp_conn_ivr2, "$ivr2_FOLDER/$FILE","/tmp/$FILE", FTP_ASCII);
                            //סגירת החיבור ftp
                            ftp_close($ftp_conn_ivr2);
                             
                            //מחיקת הקובץ הזמני
                            unlink("/tmp/$FILE");
                            
                            ?>
                            
                            
                            A תגובה 1 תגובה אחרונה תגובה ציטוט 0
                            • A
                              amp Software 0 @שמואל ש. נערך לאחרונה על ידי

                              @שמואל-ש האם הקובץ יורד לתיקיה הזמנית בשרת?
                              כמו"כ אם אני מבין נכון בחשבון השני אין לך לכמה מערכות, אז למה ציינת את מספר המערכת? אתה צריך לציין את הנתיב היחסי המדוייק שמופיע לך בגישת ftp
                              חוץ מזה, הוספת שורה מיותרת במערכת מס' 1, אין צורך לציין תיקיה לשמירה, וממילא יתכן שזה דורס את הערך הקודם ולכן לא מבצע כלום
                              מה זה השורה זאת?

                              //תיקיה לשמירת הקובץ המועבר
                              $ivr1_FOLDER = "/0773137770/ivr/11";
                              
                              

                              כמו"כ מה זה השורה הזו?

                              //העלאת הקובץ מתיקיה זמנית בשרת
                              ftp_put($ftp_conn_ivr1, "$ivr1_FOLDER/$FILE","/tmp/$FILE", FTP_ASCII);
                              
                              ש 2 תגובות תגובה אחרונה תגובה ציטוט 0
                              • ש
                                שמואל ש. @amp Software 0 נערך לאחרונה על ידי

                                @amp-Software-0 אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

                                @שמואל-ש האם הקובץ יורד לתיקיה הזמנית בשרת?

                                איך אני אמור לדעת?

                                @amp-Software-0 אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

                                כמו"כ אם אני מבין נכון בחשבון השני אין לך לכמה מערכות

                                את הניסוי עכשיו אני עושה על חשבון שיש לי שם כמה מערכות, וכשזה יעבוד לי אעביר את זה לחשבון השני

                                @amp-Software-0 אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

                                חוץ מזה, הוספת שורה מיותרת במערכת מס' 1, אין צורך לציין תיקיה לשמירה, וממילא יתכן שזה דורס את הערך הקודם ולכן לא מבצע כלום

                                אני רוצה להקליט קודם לשלוחה אחת, ששם אני יכול להגדיר הקלטה קבועה וכך הוא ידע איזה קובץ להעתיק, ואח"כ להעביר את זה לשלוחת השמעת הקבצים הרגילה

                                וחוץ מזה, האם הוא מעתיק אותו כקובץ החדש בשלוחה?

                                תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                • ש
                                  שמואל ש. @amp Software 0 נערך לאחרונה על ידי

                                  @amp-Software-0 תקין?

                                  A תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                  • A
                                    amp Software 0 @שמואל ש. נערך לאחרונה על ידי

                                    @שמואל-ש

                                    @שמואל-ש אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

                                    איך אני אמור לדעת?

                                    מה הפירוש? אין לך גישה לשרת? תבדוק בתיקית tmp אם ירד לשם הקובץ?

                                    @שמואל-ש אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

                                    אני רוצה להקליט קודם לשלוחה אחת, ששם אני יכול להגדיר הקלטה קבועה וכך...

                                    לא מספיק הבנתי, מה פתאום אתה מעלה ומוריד לאותה המערכת
                                    אולי תכתוב כתובת מייל נמשיך בפרטי

                                    ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                    • ש
                                      שמואל ש. @amp Software 0 נערך לאחרונה על ידי

                                      @amp-Software-0 אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

                                      לא מספיק הבנתי, מה פתאום אתה מעלה ומוריד לאותה המערכת

                                      כי איך הוא ידע כל פעם איזה קובץ להעביר?
                                      אני בעצם רוצה לעשות הקלטה לשני מערכות, ולשניהם זה צריך להיכנס לשלוחת השמעת קבצים כקובץ החדש ביותר

                                      A תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                      • A
                                        amp Software 0 @שמואל ש. נערך לאחרונה על ידי

                                        @שמואל-ש
                                        אוקי הבנתי, אבל בשביל זה אתה לא צריך להוריד את הקובץ לתיקיה זמנית בשרת, אתה יכול להעביר אותו ישירות בתוך אותו ftp

                                        תנסה לבודד שלב אחרי שלב
                                        תנסה רק להוריד לתיקיה זמנית, ותראה אם זה יורד.
                                        האם ה php מציג שגיאות זמן ריצה?

                                        ש 2 תגובות תגובה אחרונה תגובה ציטוט 0
                                        • ש
                                          שמואל ש. @amp Software 0 נערך לאחרונה על ידי

                                          @amp-Software-0 אמר באיך אפשר בפקודת API להעתיק קובץ ממערכת אחת למערכת אחרת (שניהם בבעלותי כמובן)?:

                                          האם ה php מציג שגיאות זמן ריצה?

                                          איפה אמורים לראות את השגיאות?

                                          A תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                          • A
                                            amp Software 0 @שמואל ש. נערך לאחרונה על ידי

                                            @שמואל-ש הוא מדפיס אותם ללוג
                                            אבל אפשר להגדיר שידפיס אותם לדף עצמו

                                            ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                            • פוסט ראשון
                                              פוסט אחרון