Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przesyłanie kilku zdjęć(upload PHP)
Forum PHP.pl > Forum > Przedszkole
Kerth
Witam, w jaki sposób przesyłać kilka plików za pomocą mojego formularza? Mogę zaznaczać w eksploratorze kilka plików jednakże nie przesyłają się one, tylko ten ostatnio wybrany. Co zrobić aby można było przysyłać ich dowolną ilość?
HTML:
  1. <form action="edit-gallery" method="post" ENCTYPE="multipart/form-data">
  2. <input type="file" multiple style="border: none" name="selectImageToGallery" accept="png/image/jpeg,image/gif/zip" />
  3. <p><button type="submit" name="addImageToGallery[]"> Dodaj zdjęcie(a)</button></p>
  4. </form>


PHP:
  1. if(isset($_POST['addImageToGallery'])){
  2. $fileTmp = $_FILES['selectImageToGallery']['tmp_name'];
  3. $fileName = $_FILES["selectImageToGallery"]['name'];
  4. $fileSize = $_FILES['selectImageToGallery']['size'];
  5. $stringFile = $_FILES["selectImageToGallery"]['name'];
  6. $fileType = array('jpg', 'jpeg', 'png', 'gif', 'zip');
  7. $stringTypeFile = strtolower(substr($stringFile, strrpos($stringFile, '.' ) +1 ));
  8. if (file_exists("img/photos/$fileName")){ echo '
  9. <p><div class="error">Plik o nazwie: <span class="bold">'.$fileName.'</span> już istnieje. Aby go dodać - nadaj mu inną nazwę!</div></p>';
  10. }else if(!in_array($stringTypeFile, $fileType)){ echo '
  11. <p><div class="error">Użyłeś złego formatu pliku(dostępne są *.jpg[*.jpeg] *.png, *.gif, *.zip)</div></p>';
  12. }else if(is_uploaded_file($fileTmp)){
  13. move_uploaded_file($fileTmp, "../../img/photos/$fileName");
  14. echo '<p><div class="success">Poprawnie dodano pliki na serwer:</p><ul style="text-align: left"><li>'.$fileName.'('.$fileSize.' KB)</li></ul></div></p>';
  15. $gallery->setImage($_FILES['selectImageToGallery']['name']);
  16. if($gallery->doValidate()){
  17. if($gallery->doSaveImagesToGallery()){
  18. echo 'Dodano';
  19. }
  20. }
  21. }else{
  22. echo '<p><div class="error">Żaden plik nie został dodany na serwer!</div></p>';
  23. }
  24. }
rad11
Zacząć czytać manual http://php.net/manual/en/features.file-upload.multiple.php
Rysh
name="selectImageToGallery[]"
Kerth
Nie było mnie trochę przy kodzie. Nie potrafię rozwiązać poniższego problemu, który powoduje wyświetlanie błędów. Ma ktoś jakiś pomysł jak to naprawić w kontekście powyższego kodu(dodałem tablicę do input type="file")?
  1. Warning: strrpos() expects parameter 1 to be string, array given in C:\xampp\htdocs\gallery.php on line 18
  2.  
  3. Warning: substr() expects parameter 1 to be string, array given in C:\xampp\htdocs\gallery.php on line 18
  4.  
  5. Notice: Array to string conversion in C:\xampp\htdocs\gallery.php on line 19
  6. Użyłeś złego formatu pliku(dostępne są *.jpg[*.jpeg] *.png, *.gif, *.zip)
IProSoft
Komunikat wyraźnie mówi gdzie masz błąd, czego nie rozumiesz ?
Rysh
Błąd: "Chce string, dostał tablicę" - czytaj co Ci błędy zwracają.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.