我正在编写一个 PHP 进程,该进程将在 Unix 计算机上运行,​​该进程需要监视远程 SMB 服务器并检测通过 FTP 上传到该服务器的新文件。我不太可能能够

它将需要检测:

  1. 正在创建新文件
  2. 文件上传完成
  3. 正在删除的文件

如果它是 NFS 共享,我会尝试使用 FAM 来检测事件,但我看不到执行任何等效操作的方法?

有帮助吗?

解决方案

听起来不像我会在生产中使用的东西。但你可以尝试这样的事情:

  1. 在运行PHP守护程序的机器上与SMB共享SMB共享
  2. 使用 SPL 递归迭代器的 目录迭代器来收集和 维护所有文件和 共享驱动器上的文件夹
  3. 曾经 刷新文件夹列表,然后 与当前状态进行比较、 如果文件已不存在 如果 将新文件放入 队列,并将其标记为 "正在 上传"
  4. 在下一次 "刷新运行 "中 检查已排队的文件 大小没有改变文件上传 如果文件大小 再次将其放入队列 并标记为 "正在上传"
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top