tp框架内自定义日志文件写入

不会吹牛不会坎天的phper,仅以代码呈上,谢谢阅读!

/**
 * 打印log日志
 * @param 文件名 第几行 日志内容
 */
function wx_log($basename=null,$num=null,$msg=null){
    if(is_array($msg)){
        $msg = json_encode($msg,JSON_UNESCAPED_UNICODE);
    }
    $msg = '['.date("Y-m-d H:i:s").']'.'文件名:'.$basename.',第'.$num.'行,'.'[info]:'.$msg;

    $rootpath = ROOT_PATH.DS.'public'. DS .'logs'. DS;
    makedir($rootpath); 
    // 日志文件名:日期.txt
    $path = $rootpath.date("Ymd").'.txt';

    file_put_contents($path, $msg.PHP_EOL,FILE_APPEND);
}

/**
 * [makedir  迭代创建级联目录]
 * @param  [type] $path [目录路径]
 * @return [type]       [Boolean]
 */
function makedir($path){
    $arr=array();
    while(!is_dir($path)){
        array_push($arr,$path);//把路径中的各级父目录压入到数组中去,直接有父目录存在为止(即上面一行is_dir判断出来有目录,条件为假退出while循环)
        $path=dirname($path);//父目录
    }
    if(empty($arr)){//arr为空证明上面的while循环没有执行,即目录已经存在
        // echo $path,'已经存在';
        return true;
    }
    while(count($arr)){
        $parentdir=array_pop($arr);//弹出最后一个数组单元
        mkdir($parentdir);//从父目录往下创建
    }
}

你可能感兴趣的:(tp,PHP)