如何将图像保存在文件夹yii2框架中?
当我上传图像时,它会保存在默认文件夹/web中。我想将我的图像保存在用户定义的文件夹中。如果您使用模型/活动表单提交表单(上载图像),类似的操作应该可以完成。关键部分是saveAs,其中第一个参数可以是文件的路径。这也包括如何将图像保存在文件夹yii2框架中?,yii2,Yii2,当我上传图像时,它会保存在默认文件夹/web中。我想将我的图像保存在用户定义的文件夹中。如果您使用模型/活动表单提交表单(上载图像),类似的操作应该可以完成。关键部分是saveAs,其中第一个参数可以是文件的路径。这也包括 还可以深入了解类。\Yii::$app->basePath对应于您的应用程序文件夹,例如\myapp\backend\。因此,如果要将其保存到myapp\backend\data,请按如下方式保存它: $file = \yii\web\UploadedFile::getIns
还可以深入了解类。
\Yii::$app->basePath
对应于您的应用程序文件夹,例如\myapp\backend\
。因此,如果要将其保存到myapp\backend\data
,请按如下方式保存它:
$file = \yii\web\UploadedFile::getInstance($model, 'logo');
$file->saveAs(\Yii::$app->basePath . '/data/'.$file);
Yii 2:
它将我的图像保存在web/uploads文件夹中。如果它是一个用户定义的文件夹,很有可能您必须动态创建目录,而该方法不会这样做。对于Yii2,我将使用“yii\helpers\BaseFileHelper”类中的createDirectory()方法。 例:
查看最好的方法是使用yii2文件包。 更多功能
- 文件上传小部件(基于Blueimp文件上传)
- 用于存储文件的组件(构建在flysystem之上)
- 下载、删除和查看(下载)文件的操作
- 删除模型时在模型中保存文件和删除文件的行为
$file = \yii\web\UploadedFile::getInstance($model, 'logo');
$file->saveAs(\Yii::$app->basePath . '/data/'.$file);
//yii 1.1 example
if($file=CUploadedFile::getInstanceByName("Shorty[avatar]"))
{
$basepath = preg_replace('~([\\\]|[\/])protected~s','',Yii::app()->basePath);
$filename = $basepath ."/images/shorty_images/" . $shorty_model->id . "/";
if(!file_exists($filename))
if(!mkdir($basepath ."/images/shorty_images/" . $shorty_model->id, 0777, true))
throw new CHttpException(404,'Directory create error!');
$status = $file->saveAs($filename . iconv("UTF-8", "ASCII//IGNORE", $file->name));
}
if ($model->load(Yii::$app->request->post())) {
$model->password=md5($model->password);
$model->photo = UploadedFile::getInstance($model, 'photo');
if($model->validate()){
$model->photo->saveAs('uploads/' . $model->photo->baseName . '.' . $model->photo->extension);
$model->save();
return $this->redirect(['index']);
}
}
use yii\web\UploadedFile;
use yii\helpers\BaseFileHelper;
$model->uploaded_file = UploadedFile::getInstance($model, 'uploaded_file');
$unique_name = uniqid('file_');
$model->file_type = $model->uploaded_file->extension;
$model->file_name = $unique_name.'.'.$model->file_type;
$model->file_path = 'uploads/projects/'. $project_id;
BaseFileHelper::createDirectory($model->file_path);
$model->uploaded_file->saveAs($model->file_path .'/'. $model->file_name);
$model->save();