美文网首页
tp框架内自定义日志文件写入

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

作者: hddd | 来源:发表于2019-03-21 14:49 被阅读0次

    不会吹牛不会坎天的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);//从父目录往下创建

        }

    }

    相关文章

      网友评论

          本文标题:tp框架内自定义日志文件写入

          本文链接:https://www.haomeiwen.com/subject/ofnqvqtx.html