如何知道文件是否仍然可以写入

时间:2011-01-09 15:59:10

标签: php


我有一个写入文件的函数,我如何使用另一个脚本检查文件是用于写入还是关闭?

编辑:此文件可能会被其他脚本/应用程序/系统打开以供写入...

谢谢。

3 个答案:

答案 0 :(得分:2)

您应该在两个脚本中使用flock。这会在文件上放置一个标志,以便通知其他脚本该文件正在使用中。该标志有意使用fclose或隐式地在脚本结束时关闭。

答案 1 :(得分:1)

如果您使用的是Unix,系统可能会安装lsof(“LiSt Open Files”)命令。 输出中的“FD”列指示文件是否已打开以供读取, 写作,或两者兼而有之。

我想指出的是,“检查文件X是否可以写入,如果是这样的话......”的任何形式的过程都会受到竞争条件的影响。其他一些过程 您可以在检查后但在操作开始之前打开文件。

答案 2 :(得分:-3)

我会说只使用文件打开功能,如果返回false,那么文件显然仍然打开。