zoukankan      html  css  js  c++  java
  • yii2文件上传

    首先我们创建modelUpload.php文件

    <?php
    namespace backendmodels;
    use Yii;
    use yiiwebUploadedFile;
    class Upload extends yiidbActiveRecord
    {
    /**
    * @var UploadedFile|Null file attribute
    */
    public $file;
    /**
    * @return array the validation rules.
    */
    public function rules()
    {
    return [
    [["file"], "file",],
    ];
    }
    }

    下面我们看看view层是怎么渲染的

    <?php
    use yiiwidgetsActiveForm;
    $form = ActiveForm::begin(["options" => ["enctype" => "multipart/form-data"]]); ?>
    <?= $form->field($model, "file")->fileInput() ?>
    <button>Submit</button>
    <?php ActiveForm::end(); ?>
    
    

    最后实现controller层的实现

    namespace backendcontrollers;
    use backendmodelsUpload;
    use yiiwebUploadedFile;
    class ToolsController extends yiiwebController
    {
    /**
    * 文件上传
    * 我们这里上传成功后把图片的地址进行返回
    */
    public function actionTopic()
        {
           
            //实例化
            $model=new Topic();
            if ($request->isPost)
            {
                $post=$request->post();
                $image= UploadedFile::getInstance($model, 'image');
                //文件上传存放的目录
                $dir = "../web/image/".date("Ymd");
    //            var_dump($dir);die;
                if (!is_dir($dir))
                {
                    mkdir($dir);
                }else{
                    //文件名
                    $fileName = date("HiiHsHis").$image->baseName . "." .$image->extension;
                    //保存路径
                    $dir = $dir."/". $fileName;
                    //保存文件
                    $image->saveAs($dir);
                }
            }else{
    
                return $this->renderPartial('save_topic',['model'=>$model]);
            }
        }
    }
    
  • 相关阅读:
    用户需求报告
    结队开发项目——七巧板NABC需求分析
    梦断代码读书笔记3
    课堂练习之环形二维数组
    结对开发之求最大子数组的溢出问题
    《代码之美》第二章读后感(一)
    软件工程项目冲刺阶段二:第五天
    软件工程项目冲刺阶段二:第四天(06-06)
    软件工程项目冲刺阶段二:第三天
    课程评价
  • 原文地址:https://www.cnblogs.com/wepe/p/7424591.html
Copyright © 2011-2022 走看看