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

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

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

העלאת קבצים PHP

מתוזמן נעוץ נעול הועבר תכנות
25 פוסטים 4 כותבים 339 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    כתב ב נערך לאחרונה על ידי
    #11

    https://tchumim.com/topic/870

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

    אבייא תגובה 1 תגובה אחרונה
    1
    • אבייא מנותק
      אבייא מנותק
      אביי
      השיב לdovid ב נערך לאחרונה על ידי
      #12

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

      ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
      הלינקיה שלי https://abaye.co/link.html

      dovidD תגובה 1 תגובה אחרונה
      0
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        השיב לאביי ב נערך לאחרונה על ידי
        #13

        @אביי הקישור יהיה לקובץ הראשון? לאחרון? או יחזיר רשימת קישורים?
        כמו"כ שים פה את הקוד המלא של הPHP.

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

          השגיאות מציינות שהכתובת שאליה שלחת את הקבצים אינה קיימת או שאין לה גישה.
          האם קובץ אחד הוא כן מעלה? כמו"כ, יתכן שאתה מעלה את 2 הקבצים באותו שם והוא כותב אחד ולא נותן לשני לעלות על אותו שם?
          אם כן, תשנה את שם הקובץ לשם רנדומלי כלשהו.

          תגובה 1 תגובה אחרונה
          1
          • אבייא מנותק
            אבייא מנותק
            אביי
            השיב לdovid ב נערך לאחרונה על ידי
            #15

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

            נ.ב. תודה על כל העזרה @dovid @chagold

            ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
            הלינקיה שלי https://abaye.co/link.html

            dovidD תגובה 1 תגובה אחרונה
            0
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              השיב לאביי ב נערך לאחרונה על ידי
              #16

              @אביי אמרת שעשית ניסיון לשלב והוא לא צלח, אבל לא הבאת כזה ניסיון.
              הנה שילוב בקוד:

              <?php
              
              $dir =  $_SERVER['DOCUMENT_ROOT'] . "\\uploads\\";
              $url = '/uploads/';
              
              
              for ($i = 0; $i < count($_FILES['upload']['name']); $i++) {
                  $fileName = $_FILES['upload']['name'][$i];
                  $tmpFilePath = $_FILES['upload']['tmp_name'][$i];
                  $err = $_FILES['upload']['error'][$i];
              
                  echo "<div> קובץ: $fileName";
              
                  if ($err != 0) {
                      echo "שגיאה בשליחת הקובץ לשרת, קוד שגיאה: $err";
                  } else {
                      if (move_uploaded_file($tmpFilePath, $dir . $fileName)) {
                          echo "
                             היי, הקובץ הועלה בהצלחה!! 
                              <br /> 
                             :קח מכאן את הקישור הישיר לקובץ 
                              <a href='{$url}{$fileName}'>$fileName<a/>
                          ";
                      } else {
                          echo 'שגיאה בהעברת הקובץ מתיקיית הקבצים הזמניים בשרת למיקום הסופי.';
                      }
                  }
                  echo "</div>";
              
              }
              
              
              

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              אבייא תגובה 1 תגובה אחרונה
              2
              • אבייא מנותק
                אבייא מנותק
                אביי
                השיב לdovid ב נערך לאחרונה על ידי
                #17

                @dovid אמר בהעלאת קבצים PHP:

                הוא מחזיר את אותה השגיאה, הוא מעלה את הקבצים וכשהוא מסיים (לכאו' כשהוא רוצה להעביר את זה מהזמני לתיקיה המוגדרת,) הוא מחזיר שגיאה, וטוען לבעיה בשורה 17.

                    if (move_uploaded_file($tmpFilePath, $dir . $fileName)) {
                

                ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
                הלינקיה שלי https://abaye.co/link.html

                dovidD תגובה 1 תגובה אחרונה
                0
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  השיב לאביי ב נערך לאחרונה על ידי dovid
                  #18

                  @אביי
                  תביא לפה את כל הקוד שכתבת להעלאה בPHP ולHTML + השגיאות.

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  אבייא 2 תגובות תגובה אחרונה
                  1
                  • אבייא מנותק
                    אבייא מנותק
                    אביי
                    השיב לdovid ב נערך לאחרונה על ידי
                    #19

                    @dovid זה הסתדר! הקוד שלך עובד טוב הבעיה הייתה בי!
                    לא הגדרתי נכון את המיקום של התיקייה להעלאה, עכשיו שמתי לב לזה וזה עובד מצוין, תודה רבה!

                    אני מעלה את הקוד השלם, לכאן:
                    html לבחירת הקבצים, (ניתן לבחור כמה, אין מגבלת כמות)

                    <form action="upload1.php" method="post" enctype="multipart/form-data">
                    	<input type="file" name="upload[]" multiple="multiple">
                    	<input type="submit" value="העלה קבצים" >
                    </form>
                    

                    כאשר "upload1.php" מגדיר את שם הקובץ שמכיל את מערך ההעלאה עצמו.

                    <?php
                     
                    $dir =  $_SERVER['DOCUMENT_ROOT'] . "https://tchumim.com/";
                    $url = 'https://tchumim.com/';
                     
                     
                    for ($i = 0; $i < count($_FILES['upload']['name']); $i++) {
                        $fileName = $_FILES['upload']['name'][$i];
                        $tmpFilePath = $_FILES['upload']['tmp_name'][$i];
                        $err = $_FILES['upload']['error'][$i];
                     
                        echo "<div> קובץ: $fileName";
                     
                        if ($err != 0) {
                            echo "שגיאה בשליחת הקובץ לשרת, קוד שגיאה: $err";
                        } else {
                            if (move_uploaded_file($tmpFilePath, $dir . $fileName)) {
                                echo "
                                   היי, הקובץ הועלה בהצלחה!! 
                                    <br /> 
                                   :קח מכאן את הקישור הישיר לקובץ 
                                    <a href='{$url}{$fileName}'>$fileName<a/>
                                ";
                            } else {
                                echo 'שגיאה בהעברת הקובץ מתיקיית הקבצים הזמניים בשרת למיקום הסופי.';
                            }
                        }
                        echo "</div>";
                     
                    }
                     
                    

                    כאשר במקום "https://tchumim.com/" יש לשים את הקישור לתיקיית האיחסון של הקובץ. (בשורה העליונה כנתיב מספריית המחשב, ובתחתונה עם הדומיין של האתר.

                    ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
                    הלינקיה שלי https://abaye.co/link.html

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

                      @dovid וואלה, כבר לא נעים לי... אבל יש אפשרות להגדיר שאני יוכל גם לבחור תיקייה, ולהעלות אותה כתיקייה?

                      ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
                      הלינקיה שלי https://abaye.co/link.html

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

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

                        אבייא תגובה 1 תגובה אחרונה
                        1
                        • אבייא מנותק
                          אבייא מנותק
                          אביי
                          השיב לchagold ב נערך לאחרונה על ידי אביי
                          #22

                          @chagold אמר בהעלאת קבצים PHP:

                          או לעשות פונקציה שתיצור את התיקיה בשרת ושתעלה קובץ קובץ.

                          זה המועדפת...

                          אבל כרגע ראיתי שיש הגבלה על כמות הקבצים של 20 בכל נגלה...

                          הגדרתי ב php.ini בשורה max_file_uploads=200 אבל זה לא פתר את הבעיה... עריכה: זה פתר את הבעיה, אבל לקח לזה קצת זמן להתעדכן...

                          ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
                          הלינקיה שלי https://abaye.co/link.html

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

                            https://www.daniweb.com/programming/web-development/code/455768/select-directory-from-a-dropdown-and-upload-file

                            אגב,

                            @אביי אמר בהעלאת קבצים PHP:

                            לקח לזה קצת זמן להתעדכן...

                            אתה משתמש באחסון בחברה (ולא בVPS)?

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

                              @chagold לא, אני משתמש ב VPS אבל, צריך בעיקרון לכבות את האפאצי כשעושים שינויים ב ini...

                              ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
                              הלינקיה שלי https://abaye.co/link.html

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

                                @אביי זה עושה זיפ למקרה של קבצים מרובים:

                                <?php
                                
                                $dir = $_SERVER['DOCUMENT_ROOT'] . "\\uploads\\";
                                $url = '/uploads/';
                                
                                if (count($_FILES['upload']['name']) == 1) {
                                    $fileName = $_FILES['upload']['name'][0];
                                    $tmpFilePath = $_FILES['upload']['tmp_name'][0];
                                    $err = $_FILES['upload']['error'][0];
                                
                                    echo "<div> קובץ: $fileName";
                                
                                    if ($err != 0) {
                                        echo "שגיאה בשליחת הקובץ לשרת, קוד שגיאה: $err";
                                    } else {
                                        if (move_uploaded_file($tmpFilePath, $dir . $fileName)) {
                                            echo "
                                               היי, הקובץ הועלה בהצלחה!! 
                                                <br /> 
                                               :קח מכאן את הקישור הישיר לקובץ 
                                                <a href='{$url}{$fileName}'>$fileName<a/>
                                            ";
                                        } else {
                                            echo 'שגיאה בהעברת הקובץ מתיקיית הקבצים הזמניים בשרת למיקום הסופי.';
                                        }
                                    }
                                    echo "</div>";
                                
                                } else {
                                    $zipname = $_FILES['upload']['name'][0].'.zip';
                                    $zip = new ZipArchive;
                                    $zip->open($dir . $zipname, ZipArchive::CREATE);
                                
                                    for ($i = 0; $i < count($_FILES['upload']['name']); $i++) {
                                        $fileName = $_FILES['upload']['name'][$i];
                                        $tmpFilePath = $_FILES['upload']['tmp_name'][$i];
                                        $err = $_FILES['upload']['error'][$i];
                                
                                
                                        if ($err != 0) {
                                            echo "שגיאה בשליחת הקובץ לשרת, קוד שגיאה: $err";
                                        } else {
                                            if (!$zip->addFile($tmpFilePath, $fileName)) {
                                                echo 'שגיאה בהעברת הקובץ מתיקיית הקבצים הזמניים בשרת למיקום הסופי.';
                                            }
                                        }
                                    }
                                    $zip->close();
                                    echo "<a href='{$url}{$zipname}'>$zipname<a/>";
                                }
                                

                                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

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

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

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