Yii2.0在控制器简单的上传图片加入库

来源:互联网 发布:涂色 app 源码 编辑:程序博客网 时间:2024/03/29 16:52

controller:

use yii\web\UploadedFile;//上传

        $request = Yii::$app->request;
        $db = Yii::$app->db;

       $username = $request->post('name');
        $pwd = md5($request->post('pwd'));

$upload=new UploadedFile(); //实例化上传类
                $name=$upload->getInstanceByName('myfile'); //获取文件原名称
                $img=$_FILES['myfile']; //获取上传文件参数
                //var_dump($img);die;
                $upload->tempName=$img['tmp_name']; //设置上传的文件的临时名称
                $img_path='../uploads/'.$name; //设置上传文件的路径名称(这里的数据进行入库)
                $arr=$upload->saveAs($img_path); //保存文件
                // var_dump($arr);die;
                $sql = $db->createCommand()->insert('username',['name'=>$username,'password'=>$pwd,'a_pic'=>$img_path])->execute();
             // var_dump($sql);
             if ($sql) {
          Yii::$app->getSession()->setFlash('success', '宝贝儿,恭喜您已成功注册');
          $this->redirect(array('demo/show'));//跳转控制器不需要return 但是需要array
        }else{
            
            echo "<a href='http://www.hang.com/YII/frontend/web/index.php?r=demo/index'>注册失败,点击重新注册</a>";
        }


views:

<form action="?r=demo/a" method="post" enctype="multipart/form-data">
    <input type="hidden" id="_csrf" name="<?php echo Yii::$app->request->csrfParam;?>" value="<?php echo yii::$app->request->csrfToken?>">
    <!-- 上面的input必须写 要不然表单提交后会报400的错误 -->
    <table>
    <tr>    
    姓名:<input type="text" name="name"><br/>
    </tr>
    <tr>
    密码:<input type="password" name="pwd" id="">    
    </tr>
    <tr>
                
    头像:<input type="file" name="myfile">
    </tr>
    <tr>
    <input type="submit" value="提交">
    </tr>
    </table>

</form>


0 0
原创粉丝点击