Stavo provando ad eseguire l'upload di un file: nel mio controller ho questo codice che viene eseguito dopo aver inviato il form (con il campo di tipo file) in post
Solo che non si comporta in modo coerente. Ho questi 3 problemicodice:if($form->isValid($_POST)) { $upload = new Zend_File_Transfer_Adapter_Http(); $upload->addValidator('Count', true, array("min" => 1, "max" => 1)) ->addValidator('Size', false, 125000) ->addValidator('Extension', false, 'jpg,gif') ->setDestination(Zend_Registry::get('uploadBasePath').'/uploads/news'); $files = $upload->getFileInfo(); foreach ($files as $file => $info) { if($upload->isValid($file)) { $upload->receive($file); } } }
1) Ho reso obbligatorio l'inserimento di un immagine, ma se lascio vuoto il campo non compare alcun errore, nemmeno quando i restanti campi del form sono riempiti correttamente
2) Il metodo setErrorMessage non appartiene alla classe Zend_File_Transfer_Adapter_Http() però non funziona nemmeno come metodo di Zend_Form_Element_File() (per tutti gli altri campi Zend_Form_Element_* riesco a settare i messaggi di errore, per questo campo di tipo 'file' no...)
3) se faccio un getValue mi ritorna 'tmp': quale metodo dovrei usare per recuperare il nome del file?
Inoltre come potrei rinominare il file in caso di file già esistente? La documentazione in merito non è molto chiara.
Riferimenti utili
- http://framework.zend.com/manual/en/zend.file.html
- http://zendguru.wordpress.com/2008/1...ework-revised/
Grazie a tutti.

Rispondi quotando
