Nefunkční DATA_FILE u formuláře generovaného v šabloně
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- sinacek
- Člen | 23
Ahoj,
u formulářového políčka pro soubor se mi vrací odpověd přes
$form->getHttpData($form::DATA_FILE, …) jen jako textová informace
o názvu souboru namísto uplodovaného souboru. Používal jste někdo už
toto nové generování pro nahrávání souborů?
PHP 5.4.4
Nette 2.2.2
Díky za reakce
Šablona
<?php
{form addForm}
<ul class="errors" n:if="$form->hasErrors()">
<li n:foreach="$form->errors as $error">{$error}</li>
</ul>
<table>
<tr>
<th>Přiložené soubory</th>
<td>
<div id="filesContainer"><input type="file" name="myfile[]" /></div>
</td>
</tr>
<tr>
<th></th>
<td>{input send}</td>
</tr>
</table>
{/form}
?>
Zpracování:
<?php
public function addFormSubmitted(Form $form) {
dump($form->getHttpData());
dump($form->getHttpData($form::DATA_TEXT, 'myfile[]'));
dump($form->getHttpData($form::DATA_FILE, 'myfile[]'));
die();
}
?>
Odpověd:
<?php
//getHttpData
array (3)
myfile => array (1)
0 => "carousel-image-01.jpg" (21)
send => "Odeslat" (7)
do => "addForm-submit" (19)
//DATA_TEXT
array (1)
0 => "carousel-image-01.jpg" (21)
//DATA_FILE
array ()
?>
PS: zjistil jsem, že když přidám do tvorby formuláře v presenteru ještě $form->addUpload(„f“, „f“, TRUE); tak to už funguje a to ani to nové pole nemusím nikde vykreslovat a nemá ani stejný name.
Editoval sinacek (19. 8. 2014 15:07)
- David Matějka
- Moderator | 6445
Form totiz nema nastaveny spravny enctype, ktery pridava UploadControl. Ty ho tedy budes muset nastavit rucne