カウンタを作るためテキストファイルの読み書きをしているのですが、ごくたまにファイル内容が壊れてしまうときがあり悩んでおります。
コードは
$fp = fopen($count_file,'r+');
if (flock($fp, LOCK_EX)){
$count = trim(fgets($fp));
if (empty($count)) $count = 0;
$count++;
ftruncate($fp, 0);
fseek($fp, 0);
fputs($fp, $count);
}
fclose($fp);

flockでロックしてるので、ftruncateでファイル内容をクリアしても他から妨害されないと思ってるのですが…
お知恵をいただきたく。