Luk*_*uke 11 php concurrency file
我正在用PHP构建一个小型Web应用程序,它将一些信息存储在纯文本文件中.但是,此文本文件由我的应用程序的所有用户在某个给定时间点使用/修改,并且可能同时使用.
所以问题是.确保只有一个用户可以在任何给定时间点对文件进行更改的最佳方法是什么?
小智 22
你应该锁定文件
$fp = fopen("/tmp/lock.txt", "r+");
if (flock($fp, LOCK_EX)) { // acquire an exclusive lock
ftruncate($fp, 0); // truncate file
fwrite($fp, "Write something here\n");
fflush($fp); // flush output before releasing the lock
flock($fp, LOCK_UN); // release the lock
} else {
echo "Couldn't get the lock!";
}
fclose($fp);
Run Code Online (Sandbox Code Playgroud)