3
Yii2フレームワークのアップロード/更新機能に問題があります。Yii2:ストリームを開くことに失敗しました:そのようなファイルまたはディレクトリがありません
私の更新機能:
public function actionUpdate($id) {
$model = $this->findModel($id);
// $model->scenario = 'update';
if ($model->load(Yii::$app->request->post()) && $model->save()) {
$uploadDir = Yii::getAlias('@web/web/uploads') . Yii::getAlias('@web/web/uploads');
$uploadPath = Yii::getAlias('@web/web/uploads');
$model->save();
$imageProject = $model->id;
//Main Image
$image = UploadedFile::getInstance($model, 'main_image');
if ($image) {
$imgProject = 'project_' . $imageProject . '.' . $image->getExtension();
$image->saveAs($uploadDir . '/' . $imgProject);
$model->main_image = $uploadPath . '/' . $imgProject;
}
if ($model->upload()) {
$model->save();
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('update', [
'model' => $model,
]);
}
} else {
return $this->render('update', [
'model' => $model,
]);
}
}
そして、私のparams.phpファイル:
return [
'aliases' => [
'@projectImgPath' => '@webroot/web/uploads',
'@projectImgUrl' => '@web/web/'
]
]。
私は自分のフォームでファイルをアップロードすると、私はこのエラーを持っている:
move_uploaded_file(/web/uploads/web/uploads/gallery_1_3.png): failed to open stream: No such file or directory
誰もがthank`s ...私を助けることができます!
のいずれかのパスの問題やフォルダのパーミッション(077)問題を交換してください。エラーは、パスの問題が 、 –
は、それが作品、 '返す[ 'エイリアス' => [ '@projectImgPath' => 'ウェブルート/ウェブ/アップロード@' を願っ存在言う '@projectImgUrl' => 'ウェブ@ /' ] $ uploadDir = Yii :: getAlias( '@ web/uploads')と同じです。 Yii :: getAlias( '@ web/uploads'); $ uploadPath = Yii :: getAlias( '@ web/uploads'); –
こんにちは! は今、私のコードは次のとおりです。 '@projectImgPath' => '@ Webルート/ウェブ/アップロード'、 '@projectImgUrl' => '@ウェブ/'、 ------------ ----------------------- $ uploadDir = Yii :: getAlias( '@ web/uploads').Yii :: getAlias( '@ web /アップロード '); $ uploadPath = Yii :: getAlias( '@ web/uploads'); もう一度動作しません... –