odd Zend_Form_Element_File behavior

2019-04-06 17:06发布

问题:

I have the following element in my form:

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

If I print the entire form in the view, this field works fine. However I have some very custom HTML that I'm using for display, so I am echoing out each form element like this in my view:

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

This works fine for other fields. However for this file field. Zend_Form validation breaks with the message The file 'attachment' exceeds the defined ini size However I am not including any file upload in my post, and even if I do, it still errors with the same message.

Any ideas?

回答1:

Are you doing the right kind of EncType? It should be 'multipart/form-data'. If it's not, the file element's key might not be getting put in the $_FILES array and the file element interprets that as the file was too big to be uploaded to the server.



回答2:

Mmm if it says ini size, have you checked the upload_max_filesize directive in your php.ini?



回答3:

check the view of the form, maybe you are rendering the form partially, try to put this on the view of your form:

<?=$this->form?>

(this worked for me)



回答4:

only form?> will work fine with uploading any file. but problem occurs when we try to put partial form as : form->file ?>

form->file ?> it will always show error so try to implement full form and avoid putting elements of form.