Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Foreach, Problem z zbudowaniem pętli foreach
Kaluza
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 4.12.2010

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


Witam,

Mam formularz, w którym wybieram sobie pliki (input typu file/multiple). Jak wybiorę jeden plik to skrypt się ładnie wykonuje i plik jest dodawany. Jak wybiorę kilka plików to dodawany jest tylko pierwszy, a reszta pomijana. Dlatego muszę wstawić ten kawałek kodu w pętlę foreach ale mam problem z jej poprawnym zbudowaniem:

  1. $zip->addFile($_FILES['produkcja']['tmp_name'], $_FILES['produkcja']['name']);


oto moja pętla foreach:

  1. foreach ($_FILES['produkcja']['name'] as $_key => $_value)
  2. {
  3. $zip->addFile($_FILES['produkcja']['tmp_name'][$_key], $_FILES['produkcja']['name'][$_key]);
  4. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Proszę dostosować tytuł wątku do wymagań działu.
Go to the top of the page
+Quote Post
markuz
post
Post #3





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


  1. var_dump($_FILES['produkcja'])


Zobacz co zwraca i sam wpadnij na rozwiązanie (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Kaluza
post
Post #4





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 4.12.2010

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


Wybrałem klika plików i zwróciło mi:

  1. array(5) {
  2. ["name"]=> string(38) "562348_525376074170895_899487162_n.jpg"
  3. ["type"]=> string(10) "image/jpeg"
  4. ["tmp_name"]=> string(18) "/var/tmp/php1MEeHb"
  5. ["error"]=> int(0)
  6. ["size"]=> int(39155) }


Nic mi to nie mówi - po za tym że tablica składa się z 5 elementów.
Domyślam się że robię jakiś głupkowaty błąd - ale nic nie przychodzi mi do głowy.

Ten post edytował Kaluza 17.01.2014, 13:41:31
Go to the top of the page
+Quote Post
mar1aczi
post
Post #5





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

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


Coś to nie tak z tym wynikiem var_dump.
Zerknij http://www.php.net/manual/en/features.file...ad.multiple.php
Go to the top of the page
+Quote Post
markuz
post
Post #6





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


Pokaż kod formularza. Może brakuje Ci [] przy nazwie.

Ten post edytował markuz 17.01.2014, 13:47:31
Go to the top of the page
+Quote Post
Kaluza
post
Post #7





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 4.12.2010

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


Ok tylko że tam jest:

  1. <input name="userfile[]" type="file" /><br />
  2. <input name="userfile[]" type="file" /><br />


A u mnie:

  1. <input style="border: 0px;" class="upload2" type="file" name="produkcja" multiple/>


Rozumiem że to "multiple" nie przejdzie? Po prostu chcę mieć jednego inputa a nie kilka, bo user może wgrać jeden plik lub 100.

Ten post edytował Kaluza 17.01.2014, 13:49:03
Go to the top of the page
+Quote Post
mar1aczi
post
Post #8





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

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


Przejdzie:
http://stackoverflow.com/questions/1175347...using-http-post (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Kaluza
post
Post #9





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 4.12.2010

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


Ok dodalem do nazwy [] i działa. Dzięki za pomoc!

Mam jeszcze jedno pytanie.
Miałem warunek:

  1. if(empty($_FILES['produkcja']['name']))


Teraz jak się zmieniła nazwa z produkcja na produkcja[] to nie działa mi ten warunek:

  1. if(empty($_FILES['produkcja[]']['name']))


Jak powinno to wyglądać poprawnie?
Go to the top of the page
+Quote Post
Turson
post
Post #10





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. if(empty($_FILES['produkcja']['name'][0]))
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 08:56