странное поведение Zend_Form_Element_File - PullRequest
8 голосов
/ 09 сентября 2009

В моей форме есть следующий элемент:

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

Если я распечатываю всю форму в представлении, это поле работает нормально. Однако у меня есть какой-то очень нестандартный HTML-код, который я использую для отображения, поэтому я отображаю каждый элемент формы, как это на мой взгляд:

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

Это отлично работает для других полей. Однако для этого поля файла. Проверка Zend_Form прерывается сообщением Размер файла «attachment» превышает определенный размер ini Однако я не включаю ни одного файла в свой пост, и даже если я это сделаю, он все равно выдаст ошибку с тем же сообщением.

Есть идеи?

Ответы [ 4 ]

11 голосов
/ 10 сентября 2009

Вы делаете правильный тип EncType? Это должно быть 'multipart / form-data'. Если это не так, ключ элемента файла может не помещаться в массив $ _FILES, и элемент file интерпретирует это, поскольку файл слишком велик для загрузки на сервер.

0 голосов
/ 27 июля 2011

только форма?> Будет нормально работать с загрузкой любого файла. но проблема возникает, когда мы пытаемся поставить частичную форму как: form-> file?>

form-> file?> Всегда будет отображаться ошибка, поэтому попробуйте реализовать полную форму и избегать размещения элементов формы.

0 голосов
/ 25 октября 2009

проверьте вид формы, возможно, вы частично ее визуализируете, попробуйте поставить это на вид вашей формы:

<?=$this->form?>

(это сработало для меня)

0 голосов
/ 10 сентября 2009

Ммм, если указано ini size, проверяли ли вы директиву upload_max_filesize в своем php.ini?

...