php tp5生成操作日志

/**
     * 生成日志操作
     * @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。

原文地址:https://www.cnblogs.com/dalaowang/p/13130641.html