有时候我们需要记录某个用户的操作状态或者后端的操作事件,可以使用PHP等后端语言将操作结果记录到日志文件中,方便测试和查找问题。特别是对于运行在后端,前端无法直接看到操作结果的,可以使用日志文件来记录。如果经常和支付宝接口、微信卡号接口等一些接口开发打交道,日志记录是必不可少的。
我们说的PHP日志是把日志信息写入日志文件,和内存日志不同,写入日志的过程是:打开日志文件(若不存在则新建),然后将日志内容追加到日志文件末尾,最后关闭日志文件。
本文中我们将日志内容以json格式保存,以便在需要的时候直接读取。
PHP 写入日志文件
PHP 需要打开、写入和关闭文件才能写入日志文件。PHP 有三个函数与之对应:fopen()、()、()。另一个函数 () 也可以将字符串写入文件。其实这个函数就是依次调用 fopen()、()、() 来实现的。所以我们使用 () 非常简洁。值得注意的是,在向文件追加内容时,需要带上参数:。
在实际操作中我们可能会遇到日志文件过大的情况,因此我们设置一个最大值,当日志文件大小超过这个最大值时,就备份该日志文件然后重新生成一个新的日志文件来记录新的日志内容。
在写入日志之前,我们将日志内容格式化为 JSON,所以我们需要将内容转换成 JSON 格式再写入文件。当然你也可以使用其他工具(比如日志分析工具)来代替 JSON。总之,我们写入的内容方便在需要的时候读取。
($,$消息){
$res = 数组();
$res['msg'] = $msg;
$res[''] = date("Ymd H:i:s",time());
//如果日志文件超出指定大小,则备份日志文件
如果(($)&&(abs(($))>)){
$ = ($).'/'.time().'-'.($);
($,$);
//如果是新创建的日志文件,则去掉内容中第一个字符逗号
如果(($)&& abs(($))> 0){
$ =“,”.($res);
}别的{
$ =($res);
//将日志内容追加到日志文件内容中
($,$,);
PHP 读取日志文件
在有需要的时候我们会读取日志内容进行分析,同样的,我们利用PHP的()函数直接读取内容然后转换成json格式,方便调用。
($){
如果(($)){
$ = ($);
$json = ('['.$.']',true);
}别的{
$json = '{"msg":"该文件不存在。"}';
$json;
日志写作和阅读课程
我们经常会用到写入和读取日志的函数,因此我将写入和读取函数组织成类,方便调用。
使用方法:
$filename = "logs/log_".date("Ymd",time()).".txt";
$msg = '写入了日志';
$Log = new Log(); //实例化
$Log->writeLog($filename,$msg); //写入日志
$loglist = $Log->readLog($filename); //读取日志
扫一扫在手机端查看
-
Tags : php写日志_PHP记录和读取JSON格式日志文件
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。