TP3.2 简易封装增、删、改、查、上传、分页、操作日志

来源:互联网 发布:淘宝app首页流量来源 编辑:程序博客网 时间:2024/06/08 14:37

   在繁忙的工作中,为了提高工作的质量和效率,针对TP3.2框架我自己封装了一些方法,分享给大家!!!

<?phpclass blog{   /*    *  添加    *  $tableName 表名    *  $data 数据    */    public function add($tableName,$data)    {        return $res=M($tableName)->add($data);    }   /*    *  删除    *  $tableName  表名    *  $where    */    public function del($tableName,$where)    {        return $res=M($tableName)->where($where)->delete();    }   /*    *  添加/修改    *  $tablename表名    *  $id 区分添加/修改    *  $where 条件    *  $data 数据    */    public function addSave($tableName,$id,$where,$data)    {        $con = M($tableName);        if($id==''){            //入库            $res = $con->add($data);            if($res){                $arr=array('status'=>$res,'data'=>"添加成功!");            }else{                $arr=array('status'=>0,'data'=>"添加失败!");            }            return $arr;        }else{            //修改            $result=$con->where($where)->setField($data);            if($result===false){                $arr=array('status'=>2,'data'=>"修改失败");            }            else{                $arr=array('status'=>3,'data'=>"修改成功");            }            return $arr;        }    }    /*     *  多条查询     *  $name 表名     *  $field 查询字段     *  $where1 查询条件     *  $order 排序(默认为asc)     *  $limit 查询条数     */    public function manySelect($tableName,$field=true,$where1,$order,$limit)    {        $Model = M($tableName); // 实例化User对象        $where=empty($where1)?'is_show=1':$where1; //添加自己的条件        $result=$Model->where($where)            ->field($field)            ->order($order)            ->limit($limit)            ->select();        return $result;    }    /*     *  select 两表联查     *  $tableName 主表名     *  $sql 关联sql     *  $where 查询条件     *  $order 排序(默认为asc)     *  $limit 查询条数     */    public function jionSelect($tableName,$sql,$where,$field,$order,$limit)    {        $Model = M($tableName);        $result = $Model->join($sql)            ->where($where)            ->field($field)            ->order($order)            ->limit($limit)            ->select();        return  $result;    }   /*    * find 两表单查    *  $tableName 主表名    *  $sql 关联sql    *  $where 查询条件    *  $field 字段    */    public function jionFind($tableName,$sql,$where,$field=true){        $User=M($tableName);        $result=$User->join($sql)            ->field($field)            ->where($where)            ->find();        return $result;    }    /*    *  文件上传    *  $names 添加新的文件夹    *  $filename 上传的字段    */    public function fileUpload($names,$filename){        $upload = new \Think\Upload();// 实例化上传类        $upload->maxSize = 1000000;// 设置附件上传大小 3M        $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型        $upload->rootPath = './';        $upload->savePath = '/Public/'.$names.'/'; // 设置附件上传目录    // 上传文件        $info = $upload->upload($_FILES);        // print_r($info);die;        if (!$info) {// 上传错误提示错误信息            $error=$upload->getError();            return $data=array("msg"=>"0","error"=>$error);        } else {            $path ='Uploads'. $info[$filename]['savepath'] . $info[$filename]['savename'];            return $data=array("msg"=>"1","success"=>$path);        }    }        /*     *  缩率图     *  $img 图片     *  $filename 新文件夹名     */    public function thumbnail($img,$filename){        $image = new \Think\Image();        $image->open($img);// 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.jpg        $img_name=rand(1111,9999).time();        $rootPath = '.';        is_dir('./Uploads/Public/thumbnail/'.$filename.'/') or mkdir('./Uploads/Public/thumbnail/'.$filename.'/',0777,true);        $str='/Uploads/Public/thumbnail/'.$filename.'/'.$img_name.'.jpg';        $image->thumb(70,70,\Think\Image::IMAGE_THUMB_SCALE)->save($rootPath.$str);        return $str;    }    /*     *  分页     *  $tableName 表名     *  $where     查询条件     *  $$pagesize 每页条数     *  $id 排序条件 $sort asc|desc     */    public function Pages($tableName,$where,$pagesize,$id,$sort="desc",$field=true,$jion=flase,$sql){        $m=M($tableName);        // $order=array($id=>$id,$sort=>$sort);        $p=$this->getpage($m,$where,$pagesize,$jion=flase,$sql);        if($jion){            $list=$m->join($sql)->field($field)->where($where)->order($id ." ". $sort)->select();        }else{            $list=$m->field($field)->where($where)->order($id ." ". $sort)->select();        }        $page=$p->show();        return $res=array("list"=>$list,"page"=>$page);    }    /*定制分页样式*/    function getpage(&$m,$where,$pagesize=10,$jion=flase,$sql){        $m1=clone $m;//浅复制一个模型        if($jion){            $count = $m->join($sql)->where($where)->count();//连惯操作后会对join等操作进行重置        }else{            $count = $m->where($where)->count();//连惯操作后会对join等操作进行重置        }        $m=$m1;//为保持在为定的连惯操作,浅复制一个模型        $p=new \Think\Page($count,$pagesize);        $p->lastSuffix=false;        $p->setConfig('header','<button type="button" class="btn btn btn-default">共<b>%TOTAL_ROW%</b>条记录  每页<b>'.$pagesize.'</b>条  第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</button>');        $p->setConfig('prev','<button type="button" class="btn btn btn-default">上一页</button>');        $p->setConfig('next','<button type="button" class="btn btn btn-default">下一页</button>');        $p->setConfig('last','<button type="button" class="btn btn btn-default">末页</button>');        $p->setConfig('first','<button type="button" class="btn btn btn-default">首页</button>');        $p->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');        $p->parameter=I('get.');        $m->limit($p->firstRow,$p->listRows);        return $p;    }   /*    *  操作日志    *  $userName 用户名    */    public function actionLog($userName){        $time=date('Y-m-d H:i:s');        $action=__ACTION__;        $year=date('Y');        $mouth=date('m');        $path='./Public/Log/'.$year; //日志文件夹        is_dir($path)or mkdir($path,077,true);        $file=$path.'/'.$mouth.'.text';        $con=file_get_contents($file,true);        $data=$con.'['.$userName.']'.$time.''.$action."\n";        file_put_contents($file,$data);    }    }

希望大家多多支持!!!


阅读全文
0 0