公孙任谨 2022-01-23 13:19 采纳率: 50%
浏览 16

php如何写文件缓存

  • 写回答

2条回答 默认 最新

  • 亚洲猿 2022-01-24 17:14
    关注

    下面的路径可以改成你的

    
    /**
     * @param string $mark 备注
     * @param string|array $log_content 日志内容
     * @param string $fname 文件名
     * @param string $level 级别
     * @throws Exception
     */
    function myLog($mark, $log_content, $fname = "",$level = 'INFO')
    {
        $max_size = 30000000; //字节
        $log_dir = root_path().'./storage/logs/'.date('Ym');
        if(!file_exists($log_dir))
        { mkdir($log_dir);}
        if ($fname == "")
        {$log_filename =  $log_dir.'/'. date('Ym-d') . ".log";}
        else
        {$log_filename =  $log_dir.'/'. $fname . ".log";}
        if (file_exists($log_filename) && abs(filesize($log_filename)) > $max_size) {
            //当日志文件过大,移动文件并重命名
            rename($log_filename, dirname($log_filename) . '/' . date('Ym-d-His') . $fname . ".log");
        }
        $t = microtime(true);
        $micro = sprintf("%06d", ($t - floor($t)) * 1000000);
        $d = new \DateTime (date('Y-m-d H:i:s.' . $micro, $t));
        if(is_array($log_content)){
            $log_content = json_encode($log_content,JSON_UNESCAPED_UNICODE);
        }
        return file_put_contents($log_filename,
            '['.$level.'] ' . $d->format('Y-m-d H:i:s u') . " key:" . $mark . "\r\n" . $log_content . "\r\n------------------------ --------------------------\r\n",
            FILE_APPEND);
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 1月23日

悬赏问题

  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错
  • ¥15 拓扑学,凸集,紧集。。
  • ¥15 如何扩大AIS数据容量
  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle
  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助