phpファイル行に追加記録する方法
824 ワード
同僚がデータを処理するときに問題が発生しました.お客様が要求するファイルフォーマットは、最初の行が統計データであり、後に改行した後に続くのが明細記録です.
集計レコードの数が統計データと一致することを保証するには、集計を書いてから統計データを書き込む必要があり、データの量は百万級なので、メモリを読んでからまとめて一緒に書き込むことはできません.
最後に見つけた解決策は次のとおりです.
集計レコードの数が統計データと一致することを保証するには、集計を書いてから統計データを書き込む必要があり、データの量は百万級なので、メモリを読んでからまとめて一緒に書き込むことはできません.
最後に見つけた解決策は次のとおりです.
$offset = 50;
$fp = fopen("fseek.txt", "wb");//
flock($fp, LOCK_EX);//
fwrite($fp, "
");//
fseek($fp, $offset);// , 50
// ,
$write_count = 0;
for ($i = 0; $i < 10; $i++)
{
fwrite($fp, "abc
");
$write_count++;
}
fseek($fp, 0);//
// ,
fwrite($fp, str_pad("total count:". $write_count, $offset - 1, " ", STR_PAD_RIGHT)."
");
flock($fp, LOCK_UN);//
fclose($fp);//