在 yii2 中上传 html 个输入文件

upload html input file in yii2

我想从 html 字段上传多张图片,这里是查看代码:

   <input type="file" name="file[]" multiple id="file"/>

我的问题出在控制器上,因为每个 yii2 的开发人员都知道这些用于上传文件的简单代码:

        $model->logoFile = UploadedFile::getInstance($model, 'logoFile');
        $model->logoFile->saveAs('uploads/' . $model->logoFile->name);
        $model->logoImage = $model->logoFile->name;

但在我的例子中,图像不是来自 yii 领域喜欢这个:

    <?= $form->field($model, 'image')->fileInput() ?>

所以知道如何修复我的控制器以获取多图像并在服务器中保存

注意:我的模板是高级的。

$files = \yii\web\UploadedFile::getInstancesByName('file');

returns 发送的文件数组,输入字段名为 "file"。

注意:在您的视图中,您使用的是纯 html 文件上传,名称为 file

我会建议,像这样在 yii2 中更改它

 <?= $form->field($model, 'logoFile[]')->fileInput(['multiple' => true, 'class' => 'btn btn-default '])->label("Attachment"); ?>

还要注意视图和模型中使用的变量

型号

//public $logoFile;
public function rules() {
        return [
            [['logoFile'], 'file', 'maxFiles' => 4],
]

}

控制器

 $model->logoFile = \yii\web\UploadedFile::getInstances($model, 'logoFile');

 foreach ($model->logoFile as $file) {
    $file->saveAs('uploads/' . $file->baseName . '.' . $file->extension);
}