头像

PHP记录和读取JSON格式浏览器类型和访问时间到txt日志文件

来源:https://www.daimasucai.com/hanshu/29.html 代码素材管理员 2016-09-10浏览()

我们有时需要记录用户或者后端的某个操作事件的运行情况,可以使用后端语言如PHP将操作结果记录到日志文件中,方便测试和查找问题。尤其是这些在后端运行的而前端不能直接看到运行结果的,那么就可以用日志文件记录下来,如果你经常跟一些接口开发如支付宝接口、微信卡券接口打交道的话,日志记录就必不可少了。

程序员,你不是一个人;网站开发QQ群:  在线充值,或联系QQ 3078847178直接充值

PHP记录和读取JSON格式浏览器类型和访问时间到txt日志文件
分类:首页>>PHP/Mysql>>函数 阅读次数:
查看演示 下载次数: 39

手机扫码访问:

下载资源 下载积分: 0

  我们讲的PHP记录日志,就是将日志信息写入到一个日志文件中,区别于内存日志。写入日志的流程是:打开日志文件(如果不存在则新创建),然后将日志内容追加到日志文件的后面,最后关闭日志文件。

  本文中,我们将日志内容以json个格式保存,方便必要时直接读取。

  PHP写日志文件PHP写日志文件需要打开、写入和关闭文件等操作,PHP有fopen(),fwrite()和fclose()三个函数与之对应,而另一个函数file_put_contents()它也能字符串写入文件,其实这个函数实现了依次调用 fopen(),fwrite() 以及 fclose()。所以我们使用file_put_contents()非常简洁。值得注意的是,往文件后面追加内容时需要带上参数:FILE_APPEND。

  实际运行中,我们有可能会遇到日志文件超大的情况,所以我们设置一个最大值,当日志文件大小超过这个最大值时,将此日志文件备份好,然后重新生成一个新的日志文件来记录新的日志内容。

  在写日志前,我们将日志内容进行json格式化,所以需要将内容转化成JSON格式,然后写入文件。当然你也可以不用json,或者换作别的工具程序(如日志分析工具)可以阅读的格式。总之,我们写入的内容是方便必要时可以方便读取。

    function writeLog($filename,$msg){ 

            $res = array(); 

            $res['msg'] = $msg; 

            $res['logtime'] = date("Y-m-d H:i:s",time()); 

     

            //如果日志文件超过了指定大小则备份日志文件 

            if(file_exists($filename) && (abs(filesize($filename)) > 1024000)){ 

                $newfilename = dirname($filename).'/'.time().'-'.basename($filename); 

                rename($filename, $newfilename); 

            } 

     

            //如果是新建的日志文件,去掉内容中的第一个字符逗号 

            if(file_exists($filename) && abs(filesize($filename))>0){ 

                $content = ",".json_encode($res); 

            }else{ 

                $content = json_encode($res); 

            } 

     

            //往日志文件内容后面追加日志内容 

            file_put_contents($filename, $content, FILE_APPEND); 

        } 


标签: 日志文件
声明:本文为原创文章,如需转载,请注明来源daimasucai.com并保留原文链接:https://www.daimasucai.com/hanshu/29.html
如果您觉得本文的内容对您的学习有所帮助,您可以扫描下面的二维码请我喝杯茶,感谢!
alipay转账 alipay转账 扫扫加qq群

评论(0)


温馨提示:为规范评论内容,垃圾评论一律封号...

后面还有条评论,点击查看>>