PHP创建或追加json格式日志文件

//需求:访问的日志根据小时创建

$date_name=date("YmdH",time()); 

//日志文件路径+名称,使用相对路径
$filename="../log/".'access_'.$date_name.'.json';

//获取写入日志的参数
$param=[ 
   'access_ip' =>$_SERVER['REMOTE_ADDR'], 
   'access_source' =>'pc', 
   'http_user_agent'=>$_SERVER['HTTP_USER_AGENT'] 
];
//数组转JSON
$txt=json_encode($param);
//判断当前的日志文件是否存在
if(false===file_exists($filename)){
    //创建日志
    $newfile = fopen($filename, "w");
    //写入日志
    fwrite($newfile,$txt);
    fclose($newfile);
}else{
    //向当前日志追加数据
    file_put_contents($filename,$txt,FILE_APPEND);
}

 

### 将JSON数据保存为TXT文件 为了将JSON数据保存到TXT文件中,可以采用多种编程语言实现这一目标。以下是几种常见方法: #### Python 实现方式 在Python中,可以通过`json`模块来处理JSON数据,并利用内置函数将其写入TXT文件。 ```python import json data = {"key": "value", "number": 123} # 假设这是要保存的数据结构 with open('output.txt', 'w') as f: json.dump(data, f) ``` 这段代码会创建一个名为`output.txt`的文件并将给定字典对象作为JSON字符串写入其中[^1]。 #### MATLAB 实现方式 对于MATLAB环境来说,虽然主要用于科学计算和工程应用领域,但也支持基本的文件操作功能。如果希望把矩阵者表格形式的数据导出成纯文本格式,则可考虑如下做法之一: - 使用 `dlmwrite()` 函数指定分隔符以及数值显示精度; - 者通过 `fprintf()` 来逐行控制输出内容; 然而针对JSON类型的复杂嵌套结构体而言,建议先序列化为字符串再调用上述任一方法完成最终目的[^2][^3]. #### PHP 实现方式 当涉及到Web开发时,PHP也是一种常用的选择。它提供了简单而强大的API用于读取/修改服务器端资源。下面是一个简单的例子展示怎样追加记录至现有文档末尾而不覆盖原有信息: ```php <?php $data = ['message' => 'Hello world!']; // 要保存的信息 $jsonData = json_encode($data); $filename = './log.txt'; file_put_contents($filename, $jsonData . "\n", FILE_APPEND | LOCK_EX); ?> ``` 此脚本会在当前目录下的`log.txt`里新增一行包含最新事件描述的日志条目[^4]。 无论选用哪种工具链路,核心思路都是相同的——即先把待存档的对象转换为目标编码风格(这里是JSON),然后再按照特定模式持久化落地即可达成预期效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值