我有一个javascript网络应用程序,每次从websocket接收一个事件时调用一个php脚本(每秒1到8次,没有特定的间隔)。
我想将此信息(json)保存到文本文件中,以便能够将其用于以后的目的。
<?php
$file = '../backtests/' . $_POST['name'] . '.txt';
if (!file_exists($file)) {
$to_add = '[' . $_POST['_data'] . ']';
}
else {
$to_add = ',' . $_POST['_data'] . ']';
}
$fh = fopen($file, 'a') or die("can't open file");
$stat = fstat($fh);
ftruncate($fh, $stat['size']-1);
fwrite($fh, $to_add);
fclose($fh);
?>
好的问题是,在开始它正在工作时,但是在文件获得40-50 kb的文本之后,它会被破坏,并且php将开始写入文件的错误部分,因此破坏它
我不确定是什么导致这种情况,但我想这是因为文件正在增长而且php需要花费越来越多的时间来编辑它?
我可以使用哪种其他解决方案?
谢谢。