我有一个脚本,我在浏览器的 3 个不同选项卡中每 1 秒刷新一次,该脚本打开一个文件,读取它,然后写回它。
有没有办法让这个问题的数据保持一致,或者 php 自己处理它?
如果选项卡 a 打开它、编辑它,以及在写入选项卡 b 打开并提取陈旧数据时会发生什么?
使用flock处理并发
您可以使用不同的实例同时打开文件。
当你写文件时,两者都会按照它的时间顺序进行操作和操作。
如果要将数据记录到文件中,只需将当前实例的信息与日志数据一起放入即可。
如果文件已经打开,则不需要执行任何操作,请创建一个标志来检查。或者使用PHP 提供的flock选项。该标志可以存储在数据库中或作为文件。操作完成时移除标志。在开始操作之前,请检查标志状态。