zoukankan      html  css  js  c++  java
  • 后台操作日志(sql日志)

    最近的一个项目 客户那边老是无缘无故的丢失文档 , 所以这边对后台的一些操作进行日志记录 代码如下

    /**
     * 删除文档AJAX
     * @function ajaxDelete
     * @author YuMijo
     */
    function ajaxDelete()
    {   
        // var_dump($_POST['id']);die();
        
    
        $id = $_POST['id'];
        $sql = "SELECT docKey From `e_qcloud_document` WHERE id IN {$id}";
        echo json_encode($this->_sql($sql));
        $sql = "DELETE FROM `e_qcloud_document` WHERE  id IN {$id}";
    
        $this->_sql($sql);
        if($_POST['id'])
            {//管理员日志
                if(!is_dir($dir = dirname(__FILE__).DIRECTORY_SEPARATOR.'data'.DIRECTORY_SEPARATOR.'error'.DIRECTORY_SEPARATOR.'adminLog')) {
                    mkdir($dir, 755);
                }
                
                $content = date('Y-m-d H:i:s', $GLOBALS['startat']).' '.$GLOBALS['startat'].' ['.$duration.'s]'.' [uid='.$_SESSION['admin']['userId'].' '.$_SESSION['admin']['userName'].'] '.$_SERVER['REQUEST_METHOD']. ' '.$_SERVER['REQUEST_URI']."
    ";
                if($_SERVER['REQUEST_METHOD'] == 'POST')
                {
                    foreach($_POST as $key=>$value)
                    {
                        $content .= $key.'='.$value."
    ";
                    }
                }
                $sqls = of_db::getQueryLog();
    
                if(count($sqls) > 100) 
                {
                    $sqls = array_slice($sqls, 0, 100);
                    $sqls[] = '... '.count($sqls).' sqls in total';
                }
                $content .= implode("
    ", $sqls)."
    
    ";
               
                file_put_contents($dir.DIRECTORY_SEPARATOR.date('Ymd').'.log', $content, FILE_APPEND);
                //   var_dump($dir.DIRECTORY_SEPARATOR.date('Ymd').'.log');
                // die();
            }
    }
    

     这里要注意 dirname()函数 限制比较严格 函数返回路径中的目录部分 这个路径如果匹配不上的话 是找不到正确路径的


    这里会记录到 用户信息 用户的操作 也就是对应的sql。
  • 相关阅读:
    [LeetCode] 85. 最大矩形
    [LeetCode] 84. 柱状图中最大的矩形
    [LeetCode] 83. 删除排序链表中的重复元素
    [LeetCode] 81. 搜索旋转排序数组 II
    [LeetCode] 82. 删除排序链表中的重复元素 II
    [LeetCode] 80. 删除排序数组中的重复项 II
    [LeetCode] 79. 单词搜索
    [LeetCode] 77. 组合
    转:快乐Node码农的十个习惯
    转:zookeeper3.4.5安装笔记
  • 原文地址:https://www.cnblogs.com/yumingzhao/p/9713398.html
Copyright © 2011-2022 走看看