Обнаружение изменения файла на удаленном SMB-ресурсе с использованием PHP - PullRequest
1 голос
/ 02 ноября 2009

Я пишу процесс PHP, который будет работать на Unix-машине, которая должна будет отслеживать удаленный SMB-сервер и обнаруживать новые файлы, загружаемые в этот ящик через FTP. Вряд ли я смогу

Необходимо будет обнаружить:

  1. Создаются новые файлы
  2. Загрузка файла завершена
  3. Файлы удаляются

Если бы это был общий ресурс NFS, я бы попытался использовать FAM для обнаружения событий, но я не могу найти способ сделать что-нибудь эквивалентное?

1 Ответ

1 голос
/ 02 ноября 2009

Не похоже на то, что я использовал бы в производстве. Но вы можете попробовать что-то вроде этого:

  1. смонтировать общий ресурс SMB с Samba на машина, на которой работает PHP демон
  2. использовать SPL RecursiveIteratorIterator с DirectoryIterator для сбора и вести список всех файлов и папки на общем диске
  3. один раз в некоторое время обновить список папок и сравнить это с текущим состоянием, если файл больше не существует Вы знаете, что он был удален, если есть новый файл, поместите его в очереди и пометить его как «существо закачано "
  4. в следующем «обновлении» проверьте файл в очереди, это файл размер файла не изменился вероятно завершен, если размер файла поменял поставил в очередь снова и пометить его как «загружаемый»
...