thinkPHP3.2 记录后台管理员的操作日志
更新:HHH   时间:2023-1-7


  1. 封装的公共方法,【思路从auth_rule表(权限节点表)中读取节点名称】:

DROP TABLE IF EXISTS `cgw_logs`;

CREATE TABLE `cgw_logs` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `url` varchar(300) NOT NULL COMMENT '操作的url',

  `operator` varchar(225) NOT NULL COMMENT '操作管理员名',

  `description` char(200) NOT NULL COMMENT '操作行为描述',

  `operate_time` int(10) NOT NULL COMMENT '执行时间',

  `ip` varchar(300) NOT NULL COMMENT '执行ip地址',

  `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0:操作成功    1:操作失败',

  PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=246 DEFAULT CHARSET=utf8 COMMENT='系统日志表';


//记录管理员用户的行为日志信息

function action_log($info='',$userid='',$status=true){

$data['url'] = substr(__ACTION__, strpos(__ACTION__, 'index.php')+strlen('index.php')+1);

$data['url']=strtolower($data['url']);

$data['operator'] =empty($userid)?getadminname($_SESSION["ADMIN_ID"]):getadminname($userid);

$data['operate_time'] = NOW_TIME;

$data['ip']=get_client_ip();

$node = M('auth_rule')->where(array('name'=>$data['url']))->find();//查找节点名称

if($status){

 $data['status']=0;

}else{

 $data['status']=1;

}

if(!empty($node) || !empty($info)){

if($info){

 $data['description']=$info;

}else{

 $data['description'] = $node['title'];

}

$data['url']=__ACTION__;

M('logs')->add($data);//记录日志

}

 }


返回web开发教程...