Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Upload kilkunastu zdjęć
Forum PHP.pl > Forum > Przedszkole
koszelek
Witam,
Mam prosty formularz, który ma za zadanie wrzucić na serwer (w tym momencie) 54 pliki:

  1. <form name="form2" enctype="multipart/form-data" method="post" action="./manager.php" />
  2. <div class="left"><div class="blonka"><div class="spacer"></div><input type="file" name="img[]" id="img1" class="imgField" value="" /><input type="submit" name="Submit" value="" class="submit" /></div><img src="images/img1.jpg?random=<?php echo $randomNumber; ?>" alt="" /></div>
  3. <div class="right"><div class="blonka"><div class="spacer"></div><input type="file" name="img[]" id="img2" class="imgField" value="" /><input type="submit" name="Submit" value="" class="submit" /></div><img src="images/img2.jpg?random=<?php echo $randomNumber; ?>" alt="" /></div><div class="clear"></div>
  4. <div class="left"><div class="blonka"><div class="spacer"></div><input type="file" name="img[]" id="img3" class="imgField" value="" /><input type="submit" name="Submit" value="" class="submit" /></div><img src="images/img3.jpg?random=<?php echo $randomNumber; ?>" alt="" /></div>
  5. <div class="right"><div class="blonka"><div class="spacer"></div><input type="file" name="img[]" id="img4" class="imgField" value="" /><input type="submit" name="Submit" value="" class="submit" /></div><img src="images/img4.jpg?random=<?php echo $randomNumber; ?>" alt="" /></div><div class="clear"></div>
  6. <div class="left"><div class="blonka"><div class="spacer"></div><input type="file" name="img[]" id="img5" class="imgField" value="" /><input type="submit" name="Submit" value="" class="submit" /></div><img src="images/img5.jpg?random=<?php echo $randomNumber; ?>" alt="" /></div>
  7. <div class="right"><div class="blonka"><div class="spacer"></div><input type="file" name="img[]" id="img6" class="imgField" value="" /><input type="submit" name="Submit" value="" class="submit" /></div><img src="images/img6.jpg?random=<?php echo $randomNumber; ?>" alt="" /></div><div class="clear"></div>
  8. ...
  9. ...
  10. ...
  11. <div class="left"><div class="blonka"><div class="spacer"></div><input type="file" name="img[]" id="img51" class="imgField" value="" /><input type="submit" name="Submit" value="" class="submit" /></div><img src="images/img51.jpg?random=<?php echo $randomNumber; ?>" alt="" /></div>
  12. <div class="right"><div class="blonka"><div class="spacer"></div><input type="file" name="img[]" id="img52" class="imgField" value="" /><input type="submit" name="Submit" value="" class="submit" /></div><img src="images/img52.jpg?random=<?php echo $randomNumber; ?>" alt="" /></div><div class="clear"></div>
  13. <div class="left"><div class="blonka"><div class="spacer"></div><input type="file" name="img[]" id="img53" class="imgField" value="" /><input type="submit" name="Submit" value="" class="submit" /></div><img src="images/img53.jpg?random=<?php echo $randomNumber; ?>" alt="" /></div>
  14. <div class="right"><div class="blonka"><div class="spacer"></div><input type="file" name="img[]" id="img54" class="imgField" value="" /><input type="submit" name="Submit" value="" class="submit" /></div><img src="images/img54.jpg?random=<?php echo $randomNumber; ?>" alt="" /></div><div class="clear"></div>
  15. <input type="hidden" name="action" value="image" />
  16. </form>


Problem polega na tym że przekazuje mi tylko 50 plików w tablicy $_FILES (0-49 a powinno być 0-53).
Czy to jest jakieś ograniczenie, może robię gdzieś głupi błąd??
darko
Nie tyle tablica, co konfiguracja, zerknij http://php.net/manual/en/ini.core.php zwłaszcza na max_file_uploads, pewnie w swojej konfiguracji masz ustawione max_file_uploads = 50 albo w ogóle nie jest ustawione.
koszelek
Szukam, ale nie mogę się doszukać, czy mogę zmienić tą wartość bez dostępu do php.ini ?
To nie zadziałało:
  1. ini_set('max_file_uploads', "60");
darko
Jeśli nie masz dostępu do php.ini na serwerze, to niestety nie masz możliwości zmiany tej wartości. Wypluj sobie print_r($_FILES); i sprawdź czy faktycznie zawiera "tylko" 50 plików. Pokaż też, jak odbierasz przesyłane pliki. Ostatnia rzecz, pytanie: dlaczego w formularzu masz 9 submitów ? Daj zamiast tych 9 jeden submit na samym końcu tuż przed zamknięciem formularza.
koszelek
Zrobiłem na samym początku tak jak napisałeś (print_r) i na pewno jest tylko 50.
... a nie uda się tego zmienić za pomocą .htaccess ?

Te submity, to tylko ze względu na dziwny interfejs z różnymi "wodotryskami" js, ale nie wydaje mi się żeby to w czymś przeszkadzało.
darko
To spróbuj wrzucić .htaccess dodając następującą linię:

Kod
php_value max_file_uploads 60
koszelek
... no niestety bez reakcji.
To może jeszcze z innej strony - mam serwer na nazwie - może jest jakaś opcja żeby dobrać się tam do php.ini ?

Ok, ale mimo wszystko problem chyba nie leży w wartości 'max_file_uploads' . U dostawcy hostingu dowiedziałem się że ta wartość jest ustawiona na 20, zatem skąd ograniczenie w tablicy akurat do 50?
Postanowiłem to jeszcze samodzielnie zweryfikować:
  1. echo ini_get('max_file_uploads');

Pokazuje tak jak powiedział host : 20
... Już teraz kompletnie nie wiem gdzie jest problem??

Ma ktoś jakiś pomysł?
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.