在PHP中重命名时没有文件?

时间:2015-08-11 22:26:02

标签: php rename atomic system-calls

感谢cron PHP进程,创建了一些临时文件,然后重命名(使用rename())以替换用户访问的文件。

用户在重命名替换页面时是否可能请求页面,而且没有文件?是否存在这样的“中间时间”(甚至非常小)?

1 个答案:

答案 0 :(得分:0)

如果您要删除旧文件并将新文件移到其中,则某些用户肯定可能会尝试访问不存在的文件。如果您在不删除旧文件的情况下重命名(覆盖),则不会遇到任何问题if you're on Linux。你运气不好if you're on windows though

在后一种情况下,您需要使用flock()编写自己的锁定程序。