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

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. העלאת קבצים מJS לדף PHP

העלאת קבצים מJS לדף PHP

מתוזמן נעוץ נעול הועבר תכנות
11 פוסטים 4 כותבים 266 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי chagold
    #1

    אני משתמש בקוד הזה (לפנות לPHP עפ"י זה) וכנראה לא קודדתי טוב את הכותרות והPHP לא מזהה שיש קובץ (לא מזהה את הכותרת fileToUpload )

    הקוד js הוא (עפי"ז)

    var Upload = new XMLHttpRequest();
    var file = this.pathfile;
    var fileName = this.namefile
    var target = "Upload.php";
    var mimeType = "multipart/form-data"
    
    Upload.onreadystatechange = function() {
         if (this.readyState == 4 && this.status == 200) {
             console.log(this.responseText);
         }
    };
                            
    Upload.open("POST",target , true);
    Upload.setRequestHeader('Content-Type', mimeType);
    Upload.setRequestHeader('Content-Disposition', 'attachment; filename="' + fileName + '"');
    Upload.send(file);
    

    תודה מראש.

    י תגובה 1 תגובה אחרונה
    0
    • י מנותק
      י מנותק
      יוסף בן שמעון
      השיב לchagold ב נערך לאחרונה על ידי
      #2

      @chagold מה זה this.pathfile? מאיפה אתה לוקח את המידע הזה?
      בקוד שלך אני לא רואה איפה אתה מצרף את הקובץ, שליחת קובץ אמורה להיות מידע בינארי דרך טופס HTML, אם אתה רוצה לממש בעצמך טופס צריך לקבל את הגישה לקובץ עם כפתור אינפוט file, ואחרי שאתה מחזיק רפרנס לקובץ לעשות משהו כזה

      const formData = new FormData();
      formData.append('mtFile', file); // כאן צריך להיות הקובץ הבינארי
      Upload.send(formData);
      
      chagoldC תגובה 1 תגובה אחרונה
      0
      • chagoldC מנותק
        chagoldC מנותק
        chagold
        השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
        #3
        פוסט זה נמחק!
        תגובה 1 תגובה אחרונה
        0
        • chagoldC מנותק
          chagoldC מנותק
          chagold
          כתב ב נערך לאחרונה על ידי
          #4

          השגיאה עדיין קיימת.

          י תגובה 1 תגובה אחרונה
          0
          • י מנותק
            י מנותק
            יוסף בן שמעון
            השיב לchagold ב נערך לאחרונה על ידי
            #5

            @chagold תביא קוד עם שגיאה

            תגובה 1 תגובה אחרונה
            0
            • י מנותק
              י מנותק
              יוסף בן שמעון
              כתב ב נערך לאחרונה על ידי
              #6

              https://jsfiddle.net/b6m27xks/

              chagoldC תגובה 1 תגובה אחרונה
              0
              • chagoldC מנותק
                chagoldC מנותק
                chagold
                השיב ליוסף בן שמעון ב נערך לאחרונה על ידי chagold
                #7

                @יוסף-בן-שמעון תודה על הקוד. העתקתיו, עדיין יש שגיאה:

                <br />
                <b>Notice</b>:  Undefined index: fileToUpload in <b>public_html/Upload.php</b> on line <b>9</b><br />
                <br />
                <b>Notice</b>:  Undefined index: fileToUpload in <b>public_html/Upload.php</b> on line <b>32</b><br />
                Sorry, your file was not uploaded.
                

                הקוד שלי

                const file = this.namefile;
                console.log(file)
                const formData = new FormData();
                
                formData.append('mtFile', file); // כאן צריך להיות הקובץ הבינארי
                
                var Upload = new XMLHttpRequest();
                
                
                const target = "Upload.php";
                
                Upload.onreadystatechange = function() {
                        if (this.readyState == 4 && this.status == 200) {
                
                            console.log(this.responseText);
                        }
                    };
                    
                Upload.open("POST",target , true);
                UploadC.send(formData);
                

                ההדפסה לקונסול מדפיסה את הקובץ כבקוד שהבאת.

                י תגובה 1 תגובה אחרונה
                0
                • י מנותק
                  י מנותק
                  יוסף בן שמעון
                  השיב לchagold ב נערך לאחרונה על ידי
                  #8

                  @chagold שים לב ב PHP לפנות לקובץ באותו שם שהוא מוגדר בטופס, אם בטופס קראת לו fileToUpload אז כך הוא יקרא במערך $_FILES בקוד שלי הוא נקרא myFile

                  ש תגובה 1 תגובה אחרונה
                  1
                  • ש מנותק
                    ש מנותק
                    ש.ב.ח.
                    השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
                    #9

                    @יוסף-בן-שמעון אמר בהעלאת קבצים מJS לדף PHP:

                    הוא נקרא myFile

                    נראה לי mtFile

                    י תגובה 1 תגובה אחרונה
                    0
                    • י מנותק
                      י מנותק
                      יוסף בן שמעון
                      השיב לש.ב.ח. ב נערך לאחרונה על ידי
                      #10

                      @ש-ב-ח צודק, טעות מקלדת

                      תגובה 1 תגובה אחרונה
                      0
                      • ח מנותק
                        ח מנותק
                        חוקר
                        כתב ב נערך לאחרונה על ידי
                        #11

                        @chagold
                        אולי הנקודה היא שצריך להעביר את הקובץ כ createReadStream ולא את השם ולא התוכן עצמו, אלא אובייקט סטריים?
                        (בJS אני לא כ"כ התעסקתי עם קבצים, אבל בNODEJS הרבה מחלקות שעובדות עם קבצים מקבלים אותם כאובייקט סטריים

                        תגובה 1 תגובה אחרונה
                        0

                        בא תתחבר לדף היומי!
                        • התחברות

                        • אין לך חשבון עדיין? הרשמה

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