题
我正在编写一个 PHP 进程,该进程将在 Unix 计算机上运行,该进程需要监视远程 SMB 服务器并检测通过 FTP 上传到该服务器的新文件。我不太可能能够
它将需要检测:
- 正在创建新文件
- 文件上传完成
- 正在删除的文件
如果它是 NFS 共享,我会尝试使用 FAM 来检测事件,但我看不到执行任何等效操作的方法?
解决方案
听起来不像我会在生产中使用的东西。但你可以尝试这样的事情:
- 在运行PHP守护程序的机器上与SMB共享SMB共享
- 使用 SPL 递归迭代器的 目录迭代器来收集和 维护所有文件和 共享驱动器上的文件夹
- 曾经 刷新文件夹列表,然后 与当前状态进行比较、 如果文件已不存在 如果 将新文件放入 队列,并将其标记为 "正在 上传"
- 在下一次 "刷新运行 "中 检查已排队的文件 大小没有改变文件上传 如果文件大小 再次将其放入队列 并标记为 "正在上传"
不隶属于 StackOverflow