Как вы работаете с элементом Zend_Form_File?

#php #zend-framework #file-upload #zend-form

#php #zend-framework #загрузка файла #zend-form

Вопрос:

Я видел много способов работы с загруженным файлом, от чистого Zend_Form решения до использования Zend_File_Transfer_Http() .

Что такое рабочий процесс, когда в форме sames есть несколько (некоторые обязательные, некоторые необязательные) файлов.

Должен ли я использовать Zend_File_Transfer_Http или Zend_Form? Какие «проверки» я должен выполнить?

Ответ №1:

Любые «проверки» загруженных файлов, которые вы хотите выполнить, вы можете выполнить, добавив соответствующие валидаторы к элементам вашего файла, таким как ‘Size’, ‘Extension’, ‘IsImage’. Чтобы гарантировать, что загрузка некоторых файлов является обязательной, вы могли бы пометить их как требуемые с помощью setRequired() метода элемента file form. Все эти проверки будут выполняться методом isValid() вашего Zend_Form, так что вам не нужно слишком беспокоиться об этом.

Что касается использования Zend_File_Transfer_Http или Zend_Form для получения файлов, я думаю, что использование Zend_File_Transfer_Http является более низкоуровневой операцией, чем использование стандартных методов для получения файлов с помощью Zend_Form (как показано в руководстве). Итак, я обычно стараюсь использовать эти стандартные методы. Также руководство zend рекомендует использовать этот стандартный способ:

При использовании Zend_Form вам следует использовать API, предоставляемые Zend_Form, а не Zend_File_Transfer напрямую. Поддержка передачи файлов в Zend_Form реализована с помощью Zend_File_Transfer, поэтому информация в этой главе может быть полезна опытным пользователям Zend_Form.

Итак, исходя из вышесказанного, кажется, что вам следует рассмотреть возможность использования Zend_File_Transfer, когда вы действительно выполняете какую-то нестандартную обработку загрузки файлов.

Надеюсь, что это имеет смысл.