comportamento strano del file Zend_Form_Element
-
05-07-2019 - |
Domanda
Ho il seguente elemento nella mia forma:
$attachment = new Zend_Form_Element_File('attachment');
$attachment->setLabel('Attach File (2MB Max)');
$attachment->addValidator('Count', false, 1);
$attachment->addValidator('Size', false, 2048000);
Se stampo l'intero modulo nella vista, questo campo funziona bene. Tuttavia ho un HTML molto personalizzato che sto usando per la visualizzazione, quindi sto echeggiando ogni elemento del modulo come questo a mio avviso:
<?=$this->form->attachment?>
Funziona bene con altri campi. Tuttavia per questo campo file. La convalida di Zend_Form si interrompe con il messaggio Il file 'allegato' supera la dimensione ini definita Tuttavia non includo alcun caricamento di file nel mio post e, anche se lo faccio, continua a commettere errori con lo stesso messaggio.
Qualche idea?
Soluzione
Stai facendo il giusto tipo di EncType? Dovrebbe essere "multipart / form-data". In caso contrario, la chiave dell'elemento file potrebbe non essere inserita nell'array $ _FILES e l'elemento file interpreta che il file era troppo grande per essere caricato sul server.
Altri suggerimenti
Mmm se dice ini size, hai controllato la direttiva upload_max_filesize nel tuo php.ini?
controlla la vista del modulo, forse stai eseguendo il rendering parziale del modulo, prova a metterlo nella vista del tuo modulo:
<?=$this->form?>
(ha funzionato per me)
solo forma? > funzionerà bene con il caricamento di qualsiasi file. ma il problema si verifica quando proviamo a mettere una forma parziale come: form- > file? >
form- > file? > mostrerà sempre errori, quindi cerca di implementare il modulo completo ed evita di inserire elementi del modulo.