2009-09-09 29 views
8

Mam następujący element w moim formularzu:dziwne zachowanie Zend_Form_Element_File

$attachment = new Zend_Form_Element_File('attachment'); 
$attachment->setLabel('Attach File (2MB Max)'); 
$attachment->addValidator('Count', false, 1); 
$attachment->addValidator('Size', false, 2048000); 

Gdybym wydrukować cały formularz w widoku, w tym polu działa dobrze. Jednak mam pewne bardzo niestandardowy HTML, który używam do wyświetlania, więc jestem powtarzając się każdego elementu formularza tak moim zdaniem:

<?=$this->form->attachment?> 

Działa to dobrze dla innych dziedzin. Jednak w tym polu pliku. Zend_Form sprawdzanie poprawności zrywa się z komunikatem Plik "załącznik" przekracza zdefiniowany rozmiar Ini. Jednak nie uwzględniam żadnego pliku przesłanego do mojego posta, a nawet jeśli to zrobię, to nadal będą występować błędy z tą samą wiadomością.

Wszelkie pomysły?

Odpowiedz

11

Czy robisz odpowiedni rodzaj EncType? Powinien to być "wieloczęściowy/formularzowy". Jeśli tak nie jest, klucz elementu pliku może nie zostać umieszczony w tablicy $ _FILES, a element pliku interpretuje, że plik był zbyt duży, aby można go było przesłać na serwer.

+0

, co było głupotą - w moim przypadku: p – almaruf

0

Mmm, jeśli mówi ini size, czy sprawdziłeś dyrektywę upload_max_filesize w swoim php.ini?

+0

Tak, obecnie jest ustawiony na 32 MB. Ponadto ten błąd występuje zarówno podczas przesyłania pliku, jak i wtedy, gdy nie wybrano żadnego pliku – Mark

0

check widok postaci, może jesteś trójwymiarowa postać częściowo, spróbuj umieścić to na widoku formularza:

<?=$this->form?> 

(ten pracował dla mnie)

0

tworzą tylko? > będzie działać dobrze z przesyłaniem dowolnego pliku. ale problem występuje, gdy próbujemy umieścić częściową formę jako: formularz-> plik?>

formularz-> plik?> Zawsze będzie wyświetlał błąd, więc spróbuj wdrożyć pełną formę i unikać umieszczania elementów formularza.