TP3.2 简易封装增、删、改、查、上传、分页、操作日志
在繁忙的工作中,为了提高工作的质量和效率,针对TP3.2框架我自己封装了一些方法,分享给大家!!!
<?php class 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 ThinkUpload();// 实例化上传类 $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 ThinkImage(); $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,ThinkImage::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 ThinkPage($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." "; file_put_contents($file,$data); } }
希望大家多多支持!!!
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。