/** * 生成日志操作 * @param $name 操作人名称 * @param $operation 执行的具体操作 * @param $info 需要入库的数据/需要修改的数据 */ function create_log($name,$operation,$info){ //文件名称 $log_name = 'log.txt'; //操作人 $name = isset($name) ? $name : []; //添加/编辑的数据转json $info = isset($info) ? json_encode($info) : json_encode([]); //引入框架文件 $request = hinkRequest::instance(); //执行的控制器 $controller = $request->controller(); //执行的操作方法 $action = $request->action(); //默认文件名称格式 // $mulu = ROOT_PATH.'public\project_log\'.$controller.'\'.$action.'\'; //生成目录 $mulu = ROOT_PATH.'public\'; //字符串转换成数组 $pathArr = explode("\", $mulu); $pathed=""; foreach ($pathArr as $key=>$row) { $pathed=$pathed.$row; if ($key==0) { continue; } //判断目录文件是否存在,存在则跳出本次循环,不存在则创建目录文件 if (is_dir($pathed)) { continue; } else{ mkdir($pathed); } } //拼接数据进行插入文件 file_put_contents($pathed.'/'.$log_name,var_export($operation, true)." ".$name." ".date('Y-m-d H:i:s',time())." ".$controller." ".$action ." ".$info. PHP_EOL, FILE_APPEND); }
//调用方法 $this->create_log('操作人2','资源查询',[]);
方法放在公共文件,用的时候直接调用就ok。