#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, когда вы действительно выполняете какую-то нестандартную обработку загрузки файлов.
Надеюсь, что это имеет смысл.