gpt4 book ai didi

yii2 - 在 Yii2 中自动创建文件夹并上传图像

转载 作者:行者123 更新时间:2023-12-02 17:24:20 25 4
gpt4 key购买 nike

我已经创建了 ..\frontend\web\uploads

这是我在 PropertiesControllers.php 配置中的函数 Create:

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 不存在。

我不知道如何解决这个问题。帮帮我!

最佳答案

我建议你在$file->saveAs(之前创建img文件夹。在Yii2中,你可以使用yii\helpers\FileHelper 来创建目录。如果你的问题是 img 文件夹在上传中不存在,那么你可以使用 yii\helpers\FileHelper 创建文件夹 as

$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

关于yii2 - 在 Yii2 中自动创建文件夹并上传图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39928893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com