1
真的難住這個,感覺像個白癡!我有一個小的PHP cron作業,每隔幾分鐘就做一次。客戶已經要求應用程序通過電子郵件發送每日問題概述....PHP - 保存數組到文件 - 沒有堆積
爲此,我決定將數組轉儲到文件以進行存儲。我決定與SQL DB保持獨立和輕量級。
我想要做的是打開所述文件,添加到一組數字並再次保存。
我已經嘗試過使用SimpleXML和serialize/file_put_contents。
我遇到的問題是寫入文件與正在echo'd行之前的行不對應。說我加入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;}
我真的很感激任何人 - 有人看過誰也抓過他的頭。
所以,輸出視圖是正確的。你已經添加了7到82,並得到89.你在哪裏拿'a:1:{s:5:「count」; i:96;}'? –
您確定此腳本的其他任何實例在腳本寫入後都不會重新寫入嗎? –
@u_mulder「a:1:{s:5:」count「; i:96;}」是由file_put_contents在saveLog函數中寫入的目標文件的輸出... – torican