php העלאת קבצים מרובים לשרת
-
אני מחפש קוד php שמטפל בהעלאת קבצים מרובים לשרת
זה קוד ה html שלי
<form action="test_upload.php" method="POST" enctype="multipart/form-data" accept-charset="UTF-8"> <input name="upload[]" type="file" multiple="multiple" /> <input type="submit" value="submit"> </form>
ניסיתי להשתמש עם הקוד שמצאתי ב- stackoverflow אבל לא הצלחתי להעלות עם הקוד הזה יותר מקובץ אחד
במקרה שניסיתי להעלות יותר מקובץ אחד הוא לא העלה כלום.
אשמח לעזרה...פורסם במקור בפורום CODE613 ב25/11/2015 14:59 (+02:00)
-
השאלה שם מתייחסת להעלאה של מס' לא ידוע מראש של קבצים. ולכן משתמשים בשם upload[] שמתורגם אוטומטית ע"י הphp למערך.
במידה וזה מה שאתה אכן רוצה אז הקוד שהבאת מצויין אבל צריך להוסיף לחצן או אירוע שיוסיף את השורה 2 לפי הצורך (דוגמה, לקוחה מפה), כל שורה מיועדת לקובץ 1 בלבד. בצד השרת עוברים בלולאה על אברי הupload הלז.
אבל אם אתה רוצה לתת טופס להעלאת מס' מסויים וידוע של קבצים אתה יכול פשוט לכתוב שמות מתאימים וזה כמו קובץ בודד:
<form action="action.php" method="post" enctype="multipart/form-data"> <input type="file" name="file1"> <input type="file" name="file2"> <input type="submit" value="submit"> </form>
פורסם במקור בפורום CODE613 ב25/11/2015 16:51 (+02:00)
-
חשבתי על הרעיון הזה אבל אני בונה את זה למישהו שמעלה מדי פעם כמות של תמונות וזה ממש לא נוח להעלות ככה אחד אחד...
אני מחפש קוד שיאפשר להעלות בבת אחת כמה קבצים
בצד ה HTML ההגדרה היא multiple ובצד שרת מצאתי כמה דברים אבל לא הצלחתי לממש את זהפורסם במקור בפורום CODE613 ב25/11/2015 19:00 (+02:00)
-
אכן הmutliply מאפשר לבחור כמה קבצים עם shift/ctrl בתיבת הדו שיח (זה לא כ"כ שמיש כי זה רק מאותה התיקיה).
אבל אז אי אפשר להתייחס לפרמטר הזה בשם וממילא חייבים לתת שם עם סוגריים מרובעות בסופו שמופרש כמערך.לי עובד הקוד מstackoverflow השאלה למה לא עבד לך.
נסה למשל את הקוד עם טסט קטן:for($i=0; $i<count($_FILES['upload']['name']); $i++) { //Get the temp file path $tmpFilePath = $_FILES['upload']['tmp_name'][$i]; //Make sure we have a filepath if ($tmpFilePath != ""){ $type = pathinfo($tmpFilePath, PATHINFO_EXTENSION); $data = file_get_contents($tmpFilePath); $base64 = 'data:image/' . $type . ';base64,' . base64_encode($data); echo '<img src="' . $base64 . '" />'; } }
זה מתייחס לקוד html זה:
<form action="action.php" method="post" enctype="multipart/form-data"> <input type="file" name="upload[]" multiple="multiple"> <input type="submit" value="submit" > </form>
נסה ותעלה שתי תמונות, לי עובד יופי.
פורסם במקור בפורום CODE613 ב26/11/2015 13:17 (+02:00)