如何使用yii将上传的文件名添加到数据库中
how to add uploded file name in to database using yii
我想用yii上传文件,我有点做到了。当我点击提交按钮时,文件被保存在它应该在的文件夹中。但是,我也想将文件名添加到数据库中。我怎样才能做到这一点?
这是我的控制器:
public function actionUpload()
{
$model = new TourImage();
if (Yii::$app->request->isPost) {
$model->imageFile = UploadedFile::getInstance($model, ‘imageFile’);
if ($model->upload()) {
// file is uploaded successfully
return;
}
}
return $this->render(‘upload’, [
‘model’ => $model
]);
}
您可以从 UploadedFile.getInstance() 中提取原始文件的名称并将其分配给模型的属性(这通常在您的模型中完成“ TourImage”,在您必须实现的上传方法中。
因此,如果您在控制器操作中有这个:
$model->imageFile = UploadedFile::getInstance($model, 'imageFile');
然后,在 TourImage 模型的 upload() 方法中:
$this->your_model_attribute = $this->imageFile->name; // The original name of the file being uploaded
将your_model_attributes更改为您要保存文件名的模型的属性。
查看 UploadedFile 对象的 public 属性:
https://www.yiiframework.com/doc/api/2.0/yii-web-uploadedfile
我想用yii上传文件,我有点做到了。当我点击提交按钮时,文件被保存在它应该在的文件夹中。但是,我也想将文件名添加到数据库中。我怎样才能做到这一点?
这是我的控制器:
public function actionUpload()
{
$model = new TourImage();
if (Yii::$app->request->isPost) {
$model->imageFile = UploadedFile::getInstance($model, ‘imageFile’);
if ($model->upload()) {
// file is uploaded successfully
return;
}
}
return $this->render(‘upload’, [
‘model’ => $model
]);
}
您可以从 UploadedFile.getInstance() 中提取原始文件的名称并将其分配给模型的属性(这通常在您的模型中完成“ TourImage”,在您必须实现的上传方法中。
因此,如果您在控制器操作中有这个:
$model->imageFile = UploadedFile::getInstance($model, 'imageFile');
然后,在 TourImage 模型的 upload() 方法中:
$this->your_model_attribute = $this->imageFile->name; // The original name of the file being uploaded
将your_model_attributes更改为您要保存文件名的模型的属性。
查看 UploadedFile 对象的 public 属性: https://www.yiiframework.com/doc/api/2.0/yii-web-uploadedfile