Я использую Inputfilter
, который работает для формы, где я загружаю 1 файл. Если я использую элемент для загрузки нескольких файлов, я получаю предупреждающее сообщение.
Сначала предупреждение:
Предупреждение: finfo_file (): предоставленный ресурс не является допустимой file_info
ресурс в
C: \ wamp64 \ WWW \ хуг \ поставщика \ ZendFramework \ Зенд-валидатор \ SRC \ File \ MimeType.php
Под сообщением в форме: «Тип файла не совпадает», поэтому я думаю, что Inputfilter
используется несколько.
Вот фрагмент моего Inputfilter
:
$inputFilter->add([
'type' => 'Zend\InputFilter\FileInput',
'name' => 'Document_Path',
'required' => true,
'filters' => [
[
'name' => \Zend\Filter\File\RenameUpload::class,
'options' => [
'use_upload_name'=>true,
'use_upload_extension' => true,
'randomize' => false,
'overwrite' => true,
'target' => './public/files/pads',
],
],
],
'validators' => [ // Validators.
[
'name' => \Zend\Validator\File\Extension::class,
'options' => [
'extension' => 'pdf',
'message' => 'File extension not match',
],
],
[
'name' => \Zend\Validator\File\MimeType::class,
'options' => [
'mimeType' => 'application/pdf', //'text/xls', 'text/xlsx',
'message' => 'File type not match',
],
],
[
'name' => \Zend\Validator\File\Size::class,
'options' => [
'min' => '1kB', // minimum of 1kB
'max' => '8MB',
'message' => 'File too large',
],
],
]
]);
Здесь элемент формы, с которым работает inputfilter:
$this->add([
'name' => 'Document_Path',
'type' => 'File',
'options' => [
'label' => 'path to file',
],
]);
А вот один для загрузки нескольких файлов:
$this->add([
'name' => 'Document_Path',
'type' => 'File',
'options' => [
'label' => 'pick folder of files',
],
'attributes' => [
'multiple' => true,
],
]);
Я выполняю тестирование с теми же файлами, которые работали при обычной загрузке (1 файл). Конечно, это pdf-файлы.
Любая помощь, предложения, обходные пути приветствуются.