我正在开发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.dll的php.ini文件并重新启动服务器.
我得到了这个问题的解决方案.
打电话给$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)
希望这有助于帮助我的人,我从这里找到答案