我的网络应用程序附带了我的文件上传功能。代码在我的localhost中完美运行,但在我上传的真实服务器中却没有。我将目录权限更改为可写。
if ($model->load(Yii::$app->request->post()))
{
$session = Yii::$app->session;
$user_id = $session->get('role');
//get the instance of the uploaded file
$imageName = $model->Fname."_".$model->Lname;
$model->file = UploadedFile::getInstance($model, 'file');
if($model->file)
{
//SHA512 base password encription
$model->password = crypt($model->repeatpassword,'$6$rounds=1212$16charactersalt');
//save image pathe to db
$model->image = 'uploads/profile_image/'.$imageName.'.'.$model->file->extension;
$model->role = $user_id;
$model->save();
$model->file->saveAs( 'uploads/profile_image/'.$imageName.'.'.$model->file->extension );
}
//return $this->redirect(['index']);
return $this->goHome();
}
答案 0 :(得分:3)
我认为您的Yii2代码中没有任何问题。 这可能是PHP配置的问题。
默认情况下,自PHP 5.3.0起,文件信息扩展已启用
Windows用户必须在php.ini中包含捆绑的php_fileinfo.dll DLL文件才能启用此扩展。
请访问以下链接了解更多详情。
答案 1 :(得分:1)
你需要在你的php.ini中取消注释:
extension=php_fileinfo.dll