我有以下情况: 一个名为" A"将文件发送到FTP服务器。 一个名为" B"读取进程发送的文件" A"在FTP服务器上做一些事情。
这种情况说明了如果进程" B"读取正在写入的文件" A"。
我需要开发流程" B"用PHP。我现在可以检查文件是否正在写入吗?但如果没有......你建议用什么方法?
修改 过程A不在我的控制之下。
答案 0 :(得分:0)
您可以检查可能正在写入的文件的文件大小(使用filesize()),休眠5秒并再次检查文件大小。 如果它已更改,您知道该文件仍在写入。 如果没有,您可以假设文件已上传。
这不是万无一失的,但据我所知,没有其他解决方案可以通过PHP来检查。
答案 1 :(得分:0)
假设Process A
在您的控制之下。
假设process
A使用临时名称上传文件。上传完成后Process A
将其重命名。 Process B
仅查找真实文件。因此,您不必担心Process B