Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Upload pojedynczego pliku działa, wielu - nie
Forum PHP.pl > Forum > Przedszkole
brzydalson
Witam mam skrypt ściągnięty z tego forum
  1. foreach( $_FILES as $val )
  2. {
  3. if( is_uploaded_file( $val['tmp_name'] ) )
  4. {
  5. if( move_uploaded_file( $val['tmp_name'], '/www/oratorium-wroc/galerie/' . $val['name'] ) )
  6. {
  7. echo 'Plik '. $val['name'] .' został pomyślnie uploadowany! <br />';
  8. } else {
  9. echo '1Upload pliku '. $val['name'] .' nie powiódł się!';
  10. echo '<pre>' . print_r( $_FILES, true ) . '</pre>';
  11. die();
  12. }
  13. }
  14. else
  15. {
  16. echo '2Upload pliku '. $val['name'] .' nie powiódł się!';
  17. echo '<pre>' . print_r( $_FILES, true ) . '</pre>';
  18. die();
  19. }
  20. }


Według wypowiedzi ludzi skrypt ten działa. U mnie skrypt nie uploaduje plików na serwer tylko wywala "2Upload pliku.... nie powiódł się" i wypisuje wszystko z tabicy $_FILES. Dane w tej tablicy są poprawne i znajduje się w niej wszystko to co powinno jeśli chodzi o pliki. Siedzę nad tym jakiś czas i nie mam pojęcia dlaczego nie działa. Kiedy z tego samego formularza na stronie uploaduje jeden plik to wszystko działa. Mój formularz wygląda następująco:
  1. <form method="post" action="nowa_galeria.php" enctype="multipart/form-data">
  2. <legend>Prześlij pliki</legend>
  3. <label>Dodaj pliki:
  4. <input type="file" multiple name="files[]">
  5. </label><br>
  6. <input type="submit">
  7. </form>



Proszę o pomoc. Pozdrawiam
lord2105
  1. foreach( $_FILES as $val )


proszę zmienić na:

  1. foreach( $_FILES['userfile'] as $val )
brzydalson
Dzięki za szybką odpowiedź lecz i to nie pomogło. Pliki są przesyłane do tmp ale skrypt ich nie przenosi do folderu wskazanego w skrypcie. Folder ma chmody 777. Dalej wyskakuje ten sam błąd. Proszę o pomoc, siedzę nad tym i tracę czas zamiast robić dalszą część strony. Pozrdo
lord2105
na samym początku dodaj:

var_dump($_FILES);

I pokaż co wyświetli
brzydalson
jedno zdjęcie wybrałem do wysłania i to pokazało:
array(1) { ["files"]=> array(5) { ["name"]=> array(1) { [0]=> string(17) "ala_Słowacki.jpeg" } ["type"]=> array(1) { [0]=> string(10) "image/jpeg" } ["tmp_name"]=> array(1) { [0]=> string(14) "/tmp/phpNRiTLX" } ["error"]=> array(1) { [0]=> int(0) } ["size"]=> array(1) { [0]=> int(45679) } } } 2Upload pliku nie powiódł się!
lord2105
  1. <input type="file" multiple name="files">
brzydalson
Nie działa bo raczej nie powinno, jak wysyła się kilka plików to w miejscu name musi być wpisana tablica.
lord2105
heh zapomniałem że masz wysyłać kilka plików ok to po prostu zrób tak że tablicę z plikami z posta przeleź w jeszcze jednej pętli a w niej rób działanie, które teraz masz napisane - tyle że aby uploadować kilka plików musisz mieć kilka pól file o nazwie files[]

albo zrobić coś takiego:

http://the-stickman.com/web-development/ja...e-file-element/
brzydalson
Nie muszę mieć bo mogę wybierać pliki przy użyciu przycisku CTRL i w jednym polu wybrać kilka plików.
lord2105
mylisz się zobacz jak dodajesz przy użyciu CTRL ścieżkę do pliku jest tylko jedna
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.