thinkphp3.2 =>0625-9_文件上传

来源:互联网 发布:java 单引号 转义 编辑:程序博客网 时间:2024/04/30 10:11

1.控制器=》Application/Admin/Controller/GoodsController.class.php  =》从添加页面中 上传

参考=》 ThinkPHP/Library/Think/Upload.class.php


    public function  add(){
        if(IS_POST){

            //>>1.  使用Upload类上传图片
           /* $config = array(
                'rootPath'      =>  './Uploads/', //保存根路径
                'savePath'      =>  'Pictrue/', //保存路径
                'exts'          =>  array('jpg','png','bmp','gif','jpeg'), //允许上传的文件后缀
            );*/

            $config = C('IMAGE_UPLOAD_CONFIG');
            $uplader = new Upload($config);
            //上传成功返回上传后文件的信息,上传失败返回false, getError()获取上传的错误信息
            if(!$info = $uplader->uploadOne($_FILES['goods_big_img'])){ //上传指定的一个文件
                $this->error('上传错误!'.$uplader->getError());
            }else{
                //>>上传成功获取到上次后的信息
                //根据$info中的信息拼接  /Uploads/Pictrue/2014-06-25/53aa8df16b73e.jpg
               $goods_big_img =  substr($config['rootPath'],1).$info['savepath'].$info['savename'];  //   /Uploads/Pictrue/2014-06-25/53aa8df16b73e.jpg
               $_POST['goods_big_img'] = $goods_big_img;

//              ./Uploads/Pictrue/2014-06-25/53aa8fc4a5978.jpg


                //>>1.创建图片对象
                $image = new Image();
                //>>2.打开当前目录下面的图片
                $image->open('.'.$goods_big_img);
                //>>3.缩略图片
                $image->thumb(100,100);
                $goods_small_img = $config['rootPath'].$info['savepath'].'small_'.$info['savename'];
                $image->save($goods_small_img);

                //去掉前面的.
                $_POST['goods_small_img'] = substr($goods_small_img,1);
            }



            $goodsModel = D('Goods');  //创建已经定义的模型对象
            //>>1.收集请求数据
            if($goodsModel->create()){  //激活验证
                //>>2.将收集到的数据添加到数据表中
                if($goodsModel->add()){
                    $this->success('添加成功',U('index'));
                }else{
                    $this->error('添加数据出错:'.$goodsModel->getError());
                }
            }else{
                $this->error('收集数据出错:'.$goodsModel->getError());
            }

        }else{
            $this->display('edit');
        }
    }

0 0