You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现PHP将Cookie数据追加写入CSV排行榜并添加表头?

解决CSV排行榜数据覆盖问题的修改方案

核心修改点:

  • 将文件打开模式从写入模式("w")改为追加模式("a"),避免覆盖原有数据
  • 新增表头判断逻辑,仅在文件为空时写入Username,Score首行
  • 可选:添加Cookie存在性校验,防止空数据写入

修改后的完整代码:

<?php 
session_start();

// 校验Cookie是否存在,避免空数据
if(isset($_COOKIE['usernamecookie']) && isset($_COOKIE['scoreCookieToPost'])){
    $username = $_COOKIE['usernamecookie'];
    $score = $_COOKIE['scoreCookieToPost'];
    $leaderboard_data = [$username, $score];

    // 打开文件,使用追加模式("a")
    $file = fopen("leaderboarddata.csv", "a");

    // 判断文件是否为空,为空则先写入表头
    if(file_exists("leaderboarddata.csv") && filesize("leaderboarddata.csv") == 0){
        fputcsv($file, ['Username', 'Score']);
    }

    // 写入用户数据到新行
    fputcsv($file, $leaderboard_data);
    fclose($file);
}
?>

关键改动说明:

  1. 文件模式修改:"a"模式会将新数据追加到文件末尾,而"w"模式会清空原有内容再写入,这是解决覆盖问题的核心。
  2. 表头逻辑:通过filesize()判断文件是否为空,确保只有首次写入时添加表头,避免重复写入。
  3. Cookie校验:用isset()检查Cookie是否存在,防止因Cookie未设置导致的空值或报错。

内容的提问来源于stack exchange,提问作者Ad270

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 03:22:39