Generovani formulare HttpUploadedFile pouze 20×

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
milroe
Člen | 7
+
0
-

Zdravíčko,

mám problém při dynamicky vygenerovaném formuláři.
Podle potřeby vygeneruju určitý počet Containerů s textovými poli + upload souboru.
Pokud je počet containerů <= 20 je vše OK, pokud ale překročí hodnotu 20, pak
v odeslaných datech (prvních 20 containerů je ok, platí pouze pro 21. a víc) jsou
jen data textových polí ale objekt HttpUploadedFile je prázdný ().

presenter:

protected function createComponentEditFormPhotos( )
  {
      $id = $this->getParam('id');
      $row = $this->model->find($id)->fetch();
      $this->pocet_lavicek = $row->pocet_lavicek;

      $form = new AppForm();


      for ($i = 0; $i < $this->pocet_lavicek ; $i++) {

          $form->addGroup($i);
          $cnt = $form->addContainer($i);
          $cnt->addText('number','Číslo lavičky:', 20, 20);
          $cnt->addTextArea('poznamka', 'Poznámka:', 20, 2);
          $cnt->addTextArea('popis_lokality', 'Popis lokality:', 20, 2);

          $cnt->addFile('img', 'Fotka:');

          $cnt->addText('xgps', 'E:')
                  ->addCondition(Form::FILLED)
                  ->addRule(Form::FLOAT, "Souřadnice musí být číslo.");
          $cnt->addText('ygps','N:')
                  ->addCondition(Form::FILLED)
                  ->addRule(Form::FLOAT, "Souřadnice musí být číslo.");
      }

      $form->setCurrentGroup( NULL );

      $form->addSubmit('savePhotos', "Uložit");
      $form->onSubmit[] = \callback($this, 'saveFormPhotos');

      return $form;

  }

zpracování:

public function saveFormPhotos($form)
{
    $group_id = $this->getParam('id');
    $data = $form->getValues();
    $sequence = 0;
	...
	...

Výsledek:

předchozí jsou shodné s 19, takže OK ( číslováno od 0)
..
..
   19 => array(6) {
      "number" => "sfdsf" (5)
      "poznamka" => "fdgd" (4)
      "popis_lokality" => "fgdf" (4)
      "img" => Nette\Web\HttpUploadedFile(5) {
         "name" private => "lavicka.jpg" (11)
         "type" private => NULL
         "size" private => 140494
         "tmpName" private => "/tmp/phpDZNNkR" (14)
         "error" private => 0
      }
      "xgps" => "43" (2)
      "ygps" => "53453" (5)
   }
   20 => array(6) {
      "number" => "retrt" (5)
      "poznamka" => "reter" (5)
      "popis_lokality" => "tretrre" (7)
      "img" => Nette\Web\HttpUploadedFile(5) {
         "name" private => NULL
         "type" private => NULL
         "size" private => NULL
         "tmpName" private => NULL
         "error" private => 4
      }
      "xgps" => "4543" (4)
      "ygps" => "34534" (5)
   }
..
..
následující jsou shodné s 20, prázdný objekt Nette\Web\HttpUploadedFile,
přesto že jsem soubor vložil.

Nette Framework (version 2.0-dev 9f535f9 released on 2011–01–10)
PHP 5.3

Může te mi poradit kde může být chyba, případně jak to generovat jinak?

vifo
Člen | 4
+
0
-

Mohlo by to být nastavením PHP: max_file_uploads – výchozí hodnota je 20.

milroe
Člen | 7
+
0
-

Tak to je presne ono.
To me mohlo napadnout :(

Diky