多个 fopen 使用同一文件并同时 fwrite 相同的文件 PHP


multiple fopen with same file and fwrite same file at same time PHP?

>我有一个脚本,我每 1 秒刷新一次,在我的浏览器中的 3 个不同选项卡中,脚本打开一个文件,读取它,然后写回它。

有没有办法保持数据与此问题的一致性,或者 php 自己处理它?

如果选项卡 a 打开它,编辑它,并且在编写选项卡 b 时打开并提取过时的数据,会发生什么情况?

使用 flock 处理并发

您可以使用不同的实例同时打开文件。

当你写文件时,两者都会按照它的及时顺序做操作和完成的操作。

如果要将数据记录到文件中,只需将当前实例的信息与日志数据放在一起即可。

如果文件已打开,则不需要执行任何操作,请创建一个标志来检查。或者使用 PHP 提供的 flock 选项。该标志可以存储在数据库中,也可以作为文件存储。操作完成后删除标志。在开始操作之前,请检查标志状态。