首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >两个用户同时写入一个文件吗?(PHP/file_put_content)

两个用户同时写入一个文件吗?(PHP/file_put_content)
EN

Stack Overflow用户
提问于 2011-01-14 00:36:43
回答 2查看 3.2K关注 0票数 7

如果我在设置了FILE_APPEND标志的情况下通过file_put_contents将数据写入文件,并且两个用户同时提交数据,它是否会添加数据,或者是否会有一个条目被覆盖的可能性?

如果我设置了LOCK_EX标志,第二次提交是等待第一次提交完成,还是当无法获得独占锁时数据丢失?

PHP通常是如何处理的?我运行的是5.2.9版本。如果这很重要的话。

谢谢你,莱恩

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-14 00:45:18

您还可以检查flock函数以实现适当的锁定(而不是基于while / sleep技巧)

票数 2
EN

Stack Overflow用户

发布于 2011-01-14 00:39:06

如果您通过LOCK_EX设置独占文件锁,则尝试写入的第二个脚本(按时间)将从file_put_contents返回false。

即:它不会坐着等待,直到文件可供写入。

因此,如果需要,您需要自己编写此行为的程序,可能是尝试使用file_put_contents a limited次数(例如:3次),并在每次尝试之间使用适当大小的sleep

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4682533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档