내가 만들었습니다 ..\frontend\web\uploads
.
이것은 내가 가진 구성 의 기능 Create
입니다 PropertiesControllers.php
.
public function actionCreate()
{
$model = new Properties();
$date = date('YmdHis');
if ($model->load(Yii::$app->request->post())) {
$file = \yii\web\UploadedFile::getInstance($model, 'url_img');
if (!empty($file))
$model->url_img = $date.$file;
if($model->save())
{
if (!empty($file))
$file->saveAs( Yii::getAlias('@frontend') .'/web/uploads/'.$date.$file);
return $this->redirect(['view', 'id' => $model->id]);
}
return $this->render('create', ['model' => $model]);
} else {
return $this->render('create', ['model' => $model]);
}
}
uploads
존재 하면 작동합니다 . 하지만 다음과 uploads
같이 새 폴더로 리디렉션하고 싶습니다.uploads\img
if (!empty($file))
$file->saveAs( Yii::getAlias('@frontend') .'/web/uploads/img'.$date.$file);
../web/uploads/img
존재하지 않기 때문에 오류 가 표시 됩니다.
이 문제를 해결하는 방법을 모르겠습니다. 도와주세요!
img
전에 폴더 를 만드는 것이 좋습니다 $file->saveAs(
. Yii2에서는 yii\helpers\FileHelper
디렉토리를 만드는 데 사용할 수 있습니다 . 문제가 img 폴더가 업로드에 존재하지 않는 것과 같은 경우 다음과 yii\helpers\FileHelper
같이 폴더를 만들 수 있습니다.
$path = Yii::getAlias('@frontend')."/web/uploads/img";
\yii\helpers\FileHelper::createDirectory($path, $mode = 0775, $recursive = true);
전체 코드
public function actionCreate() {
$model = new Properties();
$date = date('YmdHis');
if ($model->load(Yii::$app->request->post())) {
$file = \yii\web\UploadedFile::getInstance($model, 'url_img');
if (!empty($file))
$model->url_img = $date . $file;
if ($model->save()) {
if (!empty($file)) {
$path = Yii::getAlias('@frontend') . "/web/uploads/img";
//here you create the folder
if (\yii\helpers\FileHelper::createDirectory($path, $mode = 0775, $recursive = true)) {
$file->saveAs(Yii::getAlias('@frontend') . '/web/uploads/img/' . $date . $file);
}
}
return $this->redirect(['view', 'id' => $model->id]);
}
return $this->render('create', ['model' => $model]);
} else {
return $this->render('create', ['model' => $model]);
}
}
FileHelper에 대한 자세한 정보는 여기 http://www.yiiframework.com/doc-2.0/yii-helpers-filehelper.html
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다