Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Przesyłanie kilku zdjęć(upload PHP)
Kerth
post 29.07.2016, 15:08:03
Post #1





Grupa: Zarejestrowani
Postów: 250
Pomógł: 1
Dołączył: 6.08.2012

Ostrzeżenie: (0%)
-----


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. }
Go to the top of the page
+Quote Post
rad11
post 29.07.2016, 15:15:41
Post #2





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Zacząć czytać manual http://php.net/manual/en/features.file-upload.multiple.php
Go to the top of the page
+Quote Post
Rysh
post 29.07.2016, 15:31:53
Post #3





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

Ostrzeżenie: (0%)
-----


name="selectImageToGallery[]"


--------------------
Go to the top of the page
+Quote Post
Kerth
post 6.08.2016, 18:01:15
Post #4





Grupa: Zarejestrowani
Postów: 250
Pomógł: 1
Dołączył: 6.08.2012

Ostrzeżenie: (0%)
-----


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)


Ten post edytował Kerth 6.08.2016, 18:01:52
Go to the top of the page
+Quote Post
IProSoft
post 6.08.2016, 19:51:20
Post #5





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

Ostrzeżenie: (0%)
-----


Komunikat wyraźnie mówi gdzie masz błąd, czego nie rozumiesz ?


--------------------
Manual prawdę Ci powie.
Go to the top of the page
+Quote Post
Rysh
post 6.08.2016, 20:07:29
Post #6





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

Ostrzeżenie: (0%)
-----


Błąd: "Chce string, dostał tablicę" - czytaj co Ci błędy zwracają.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.05.2025 - 06:19