- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:flock関数での排他制御)
flock関数での排他制御
このQ&Aのポイント
- 外部ファイルを更新する処理を作成しています。ファイル更新中にファイルロック(flock関数)をかけて、ロック中という事ではじかれた場合はエラーを出力するという仕組みを考えています。
- しかし、ロック中で書きこめなかった場合にファイルが全て消えてしまう問題が発生しています。
- 修正すべき箇所は、ファイルのオープンモードを 'a' に変更することです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
fopen($filename, "w");ではなく、fopen($filename, "r+");にしてあげればいいんじゃないでしょうか。 flockが成功した後でftruncate($fp,0)を使ってあげたりだとか。