网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 Yii2使用自带的UploadedFile实现的文件上传
范文
    我们先来看看在yii2中支持的图片上传怎么进行处理的。
    首先我们创建model\Upload.php文件
    <?php
    namespace backend\models;
    use Yii;
    use yii\web\UploadedFile;
    class Upload extends \yii\db\ActiveRecord
    {
    /**
    * @var UploadedFile|Null file attribute
    */
    public $file;
    /**
    * @return array the validation rules.
    */
    public function rules()
    {
    return [
    [["file"], "file",],
    ];
    }
    }
    下面我们看看view层是怎么渲染的
    <?php
    use yii\widgets\ActiveForm;
    $form = ActiveForm::begin(["options" => ["enctype" => "multipart/form-data"]]); ?>
    <?= $form->field($model, "file")->fileInput() ?>
    <button>Submit</button>
    <?php ActiveForm::end(); ?>
    最后实现controller层的实现
    namespace backend\controllers;
    use backend\models\Upload;
    use yii\web\UploadedFile;
    class ToolsController extends \yii\web\Controller
    {
    /**
    * 文件上传
    * 我们这里上传成功后把图片的地址进行返回
    */
    public function actionUpload ()
    {
    $model = new Upload();
    $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实现的文件上传的相关知识,希望对大家有所帮助
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/20 1:40:37