Yii2使用自带的UploadedFile实现的文件上传
我们先来看看在yii2中支持的图片上传怎么进行处理的。
首先我们创建model\Upload.php文件
<?php
namespacebackend\models;
useYii;
useyii\web\UploadedFile;
classUploadextends\yii\db\ActiveRecord
{
/**
*@varUploadedFile|Nullfileattribute
*/
public$file;
/**
*@returnarraythevalidationrules.
*/
publicfunctionrules()
{
return[
[["file"],"file",],
];
}
}
下面我们看看view层是怎么渲染的
<?php useyii\widgets\ActiveForm; $form=ActiveForm::begin(["options"=>["enctype"=>"multipart/form-data"]]);?> <?=$form->field($model,"file")->fileInput()?> <button>Submit</button> <?phpActiveForm::end();?>
最后实现controller层的实现
namespacebackend\controllers;
usebackend\models\Upload;
useyii\web\UploadedFile;
classToolsControllerextends\yii\web\Controller
{
/**
*文件上传
*我们这里上传成功后把图片的地址进行返回
*/
publicfunctionactionUpload()
{
$model=newUpload();
$uploadSuccessPath="";
if(Yii::$app->request->isPost){
$model->file=UploadedFile::getInstance($model,"file");
//文件上传存放的目录
$dir="../../public/uploads/".date("Ymd");
if(!is_dir($dir))
mkdir($dir);
if($model->validate()){
//文件名
$fileName=date("HiiHsHis").$model->file->baseName.".".$model->file->extension;
$dir=$dir."/".$fileName;
$model->file->saveAs($dir);
$uploadSuccessPath="/uploads/".date("Ymd")."/".$fileName;
}
}
return$this->render("upload",[
"model"=>$model,
"uploadSuccessPath"=>$uploadSuccessPath,
]);
}
}
以上所述是小编给大家介绍的Yii2使用自带的UploadedFile实现的文件上传的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下