如何在PHP中自动移动文件

时间:2017-01-08 13:38:58

标签: php race-condition

我有以下情况。通常是工作分发应用程序。这是故事。

有10个并发用户在线。

在一个文件夹中,例如/home/Queue/

有5个文本文件:

/home/Queue/dg37.txt
/home/Queue/aa.txt
/home/Queue/dsvdsl.txt
/home/Queue/gf4.txt
/home/Queue/ddef.txt

这10个并发用户都需要将一个文件移动到各自的文件夹中。该文件包含作业指令。

想象一下,这10个用户同时将一个文本文件移动到各自的主文件夹。

如何对PHP代码进行编码以使其成为自动操作,即只有5个用户能够在其各自的主文件夹中获取文本文件,而其他5个用户将获得当前没有工作为你消息。

三江源。

1 个答案:

答案 0 :(得分:0)

如上所述,我建议使用数据库和标志,但另一种方法是将文件从队列中直接删除到另一个文件夹中。使用rename()功能,您可以将文件直接移动到另一个目录(类似于Windows中的剪切和粘贴)。它还会返回一个布尔值,如果两个人大致同时点击该项目,您可以使用它。

rename ("/home/Queue/dg37.txt", "/home/users/bob/queue/dg37.txt");

http://www.php.net/manual/en/function.rename.php