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

2019-03-21  本文已影响0人  hddd

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

/**

* 打印log日志

* @param 文件名 第几行 日志内容

*/

function wx_log($basename=null,$num=null,$msg=null){

    if(is_array($msg)){

        $msg = json_encode($msg,JSON_UNESCAPED_UNICODE);

    }

    //$msg = [2018-04-11 09:22:56]文件名:wxpay,第29行,[info]:日志信息

    $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);//从父目录往下创建

    }

}

上一篇下一篇

猜你喜欢

热点阅读