PHP - 将数组保存到文件 - 不堆叠

时间:2016-01-24 11:14:22

标签: php arrays

真的难倒这个,觉得自己像个白痴!我有一个小的PHP cron工作,每隔几分钟做一次。客户已要求应用程序通过电子邮件向他们发送每日概述所提出的问题....

为此,我决定将数组转储到文件中以进行存储。我决定不使用SQL DB来保持这种独立和轻量级。

我想要做的是打开所述文件,添加到一组数字并再次保存。

我已尝试使用SimpleXML和serialize / file_put_contents。

我遇到的问题是写入文件的内容与之前回显的数组不对应。假设我在总数中加2,物理文件已添加4.

以下是丑陋的,只是一个片段:

echo "count = ".count($result);"<br/>";
$arr = loadLog();
dumpArray($arr, "Pre Load");
$arr0['count'] = $arr['count']+(count($result));
echo "test ".$arr0['count'];
dumpArray($arr0, "Pre Save");
saveLog($arr0);
sleep(3);
$arr1 = loadLog();
dumpArray($arr1, "Post Save");

function saveLog($arr){
    $content = serialize($arr);
    var_dump($content);
    file_put_contents(STATUS_SOURCE, $content);
}

function loadLog(){
    $content = unserialize(file_get_contents(STATUS_SOURCE));
    return $content;
}

function dumpArray($array, $title = false){
    echo "<p><h1>".$title."</h1><pre>";
    var_dump($array);
    echo "</pre></p>";
}

输出视图here 输出文件:a:1:{s:5:"count";i:96;}

我真的很感激任何抬头 - 让其他人看起来也抓了他的头。

1 个答案:

答案 0 :(得分:0)

检查.htaccess是否未向同一脚本发送404错误。 Chrome正在寻找不存在的favicon.ico。这导致脚本第二次执行。