发送表单后UploadedFile::getInstance($model, 'images')
会返回null
。我也试过了UploadedFile::getInstanceByName('images')
。在$_POST
数组中,images
键为空,例如'images' => ['']
。该文件存在于$_FILES
数组中。
我的代码非常简单。我的观点:
<?php $form = ActiveForm::begin([
'options' => [
'class' => 'validation-wizard wizard-circle floating-labels',
'enctype'=>'multipart/form-data'
],
]); ?>
<?= $form->field($model, 'images[]')->fileInput([
'id' => 'image_0',
'class' => 'dropify',
'data-default-file' => ''
]) ?>
<?php ActiveForm::end() ?>
在我的模特中,我有:
public $images;
public function rules()
{
return [
['images', 'each', 'rule' => ['file']],
];
}
答案 0 :(得分:4)
如果您想访问一系列文件,则需要使用UploadedFile::getInstances()
代替UploadedFile::getInstance()
。
$files = UploadedFile::getInstances($model, 'images');
处理多个文件的好例子可以在Uploading Multiple Files部分的指南中找到。