我将来自表单的数据保存到文件中。文件中有一个行号。如果两个或多个用户同时提交表单,我们预计行号是相同的。因为在保存之前,我会读取最高行号来决定新的记录行号。
我该怎样防止这种情况?
sys_getloadavg
是解决方案吗?
感谢。
答案 0 :(得分:0)
您可以使用文件锁(缓慢但适用于所有平台)或信号量来执行此操作。查看这个线程的详细信息: PHP mutual exclusion (mutex)
答案 1 :(得分:0)
我不确定你要做什么,但请求永远不会完全相同。一个人总是先于另一个人。
如果您正在谈论编辑文件,也许您应该制作一个配置文件,只允许您在其他用户打开文件时以读取模式打开文件。
然后你可以随便ajax配置文件来检查另一个用户是否打开它并将状态从读取更改为写入。