Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Upload kilku plików na raz
Forum PHP.pl > Forum > Przedszkole
botnaizi
Witam,

Muszę stworzyć skrypt który zuploaduje kilka zdjęć na raz. Chodzi dokładnie o to, aby można było zaznaczyć kilka zdjęć i je wysłać. Muszę jeszcze je dopisać do bazy itp ale z tym już sobie poradzę. Czy jest możliwe, aby zrobić taki skrypt w samym PHP i żeby po zuploadowaniu zdjęć pokazał się komunikat, żeby wiadomo było czy zostały wysłane. Zdjęcia będą posiadały nazwę np xxx_0001.bmp i do xxx_0010 i to chyba byłoby ułatwieniem bo bym po prostu dodał pentlę.i to chyba byłoby najlepsze, bo wystarczyłoby, że zostałby wybrany pierwszy plik ale jak to zrobić ?
W każdym razie chciałbym jakieś wskazówki lub najlepiej gotowy skrypt na multiupload.

Pozdrawiam
gigzorr
http://www.uploadify.com/download/
demo: http://www.uploadify.com/demos/ jquery

Wujek google padł ?

http://www.phpeasystep.com/phptu/2.html

Przykładowe hasła:
php multiupload image
php multiupload
botnaizi
@gigzorr: najpierw przeczytaj a nie dajesz odpowiedzi o google, zależy mi na takim, aby był w samym PHP co mi ułatwi edycję bo muszę kilka rzeczy dodać a z Flashem i JS nigdy się nie interesowałem. Pozatym przejrzałem trochę google i nie zauważyłem czegoś takiego w PHP. Jedyna opcja jaką widzę, to zapętlenie nazwy pierwszego pliku ale nie wiem jak to zrobić.

Powiedzmy, że mam takie coś :

  1. <?php
  2. echo '<?xml version="1.0" encoding="iso-8859-2"?>';
  3. ?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
  5. transitional.dtd">
  6. <html>
  7. <head>
  8. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  9. <title>Upload</title>
  10. </head>
  11. <body>
  12.  
  13. <div>
  14. <form enctype="multipart/form-data" action="index.php" method="POST">
  15. <input type="hidden" name="MAX_FILE_SIZE" value="50000" />
  16. <input name="plik" type="file" />
  17. <input type="submit" value="Wyślij plik" />
  18. </form>
  19. </div>
  20.  
  21. <?php
  22.  
  23. $plik_tmp = $_FILES['plik']['tmp_name'];
  24. $plik_nazwa = $_FILES['plik']['name'];
  25. $plik_rozmiar = $_FILES['plik']['size'];
  26.  
  27. if(is_uploaded_file($plik_tmp)) {
  28. move_uploaded_file($plik_tmp, "uploads/$plik_nazwa");
  29. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  30. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  31.  
  32. }
  33. ?>
  34. </body>
  35. </html>


Jak to przerobić, aby zdjęcie z które ma w nazwie _0001.bmp było zapętlane i żeby były wysyłane pliki do _0010.bmp ? Do tego przydało by się coś co zapobiegłoby przerwaniu skryptu jeśli jakiegoś pliku brakuje. Zdjecia mogą mieć także nr _0011 do _0020. Z resztą sobie poradzę.

Pozdrawiam
duga
Uploadowanie ajaxem binarnych rzeczy: http://css-tricks.com/3458-perfect-full-pa...ckground-image/

Ajax też potrafi na bieżąco modyfikować formularz, więc możesz javascriptem dodawać nowe input file (ile chcesz)

Bez javascripta to musisz zrobić dwa formularze: jeden zapamiętujący dane formularza (w sumie najlepiej w sesji, ale można też za pomocą zwykłego POST'a) i za każdym wywołaniem tego formularza generowanie o 1 plik większy formularz (wypełniamy go też automatycznie). Drugi natomiast formularz wyśle dane, jak wszystko będzie gotowe
botnaizi
@duga: pomyliłeś chyba linki wink.gif , ale wiem już o co chodzi. Zrobię chyba tak, że jednym formularzem stworzę ich kilka. Tylko jaką metodą najlepiej zmienić ten ciąg znaków ? Dajmy na to, że funkcja przejmie z formularza ciąg C:/Users/xxxx_0001.bmp zapętlę wtedy funkcję aby zmieniała nazwy tylko jaką funkcją najlepiej ?
Do tego, czy istnieje jakiś prosty skrypt w JS, żeby podpiąć go pod ten skrypt który będzie uploadować 10 plików, bo każdy plik waży ok 2 MB a przy oferowanych przez dostawców łączach może to trochę trwać.

Pozdrawiam
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.