Yii2中的文件上传问题

use*_*370 4 file-upload yii2

我正在开发Yii2框架中的应用程序.

我正在使用下面的代码上传图像,并且到目前为止一直运行良好.但是现在我得到了一个错误.我不明白发生了什么.

下面是上传文件和保存的控制器代码:

// Upload photo of subcategories...
$model->file = UploadedFile::getInstance($model, 'file');
if($model->file) {
    $imageName = rand(1000,100000);
    $model->file->saveAs('uploads/subcategories/'.$imageName.'.'.$model->file->extension);
    $model->sub_category_photo = 'uploads/subcategories/'.$imageName.'.'.$model->file->extension;
}
$model->save();
Run Code Online (Sandbox Code Playgroud)

我得到以下错误:

PHP警告 - yii\base\ErrorException finfo_file(C:\ xampp\tmp\php9A7B.tmp):无法打开流:没有这样的文件或目录

我也未评论extension = fileinfo.dllphp.ini文件并重新启动服务器.

use*_*370 7

我得到了这个问题的解决方案.

打电话给$model->save();控制器

之前

$model->file->saveAs();
Run Code Online (Sandbox Code Playgroud)

以上代码中的手段我的问题改为以下

// Upload photo of subcategories...
$model->file = UploadedFile::getInstance($model, 'file');
if($model->file) {
    $imageName = rand(1000,100000);
    $model->sub_category_photo = 'uploads/subcategories/'.$imageName.'.'.$model->file->extension;
    $model->save();
    $model->file->saveAs('uploads/subcategories/'.$imageName.'.'.$model->file->extension);
} else {
    $model->save();
}
Run Code Online (Sandbox Code Playgroud)

希望这有助于帮助我的人,我从这里找到答案