Detectar modificación de archivos en un recurso compartido SMB remoto usando PHP

StackOverflow https://stackoverflow.com/questions/1660542

  •  11-09-2019
  •  | 
  •  

Pregunta

Estoy escribiendo un proceso PHP que se ejecutará en una máquina Unix que necesitará monitorear un servidor SMB remoto y detectar nuevos archivos que se cargan en ese cuadro a través de FTP.Es poco probable que pueda

Será necesario detectar:

  1. Nuevos archivos en proceso de creación
  2. Carga de archivos completando
  3. Archivos que se eliminan

Si fuera un recurso compartido NFS, intentaría usar FAM para detectar los eventos, pero no veo una manera de hacer algo equivalente.

¿Fue útil?

Solución

No suena como algo que me gustaría utilizar en la producción. Sin embargo, usted podría intentar algo como esto:

  1. montar la parte de SMB con Samba en la máquina que ejecuta un PHP daemon
  2. utilizar SPL RecursiveIteratorIterator con DirectoryIterator para recoger y mantener una lista de todos los archivos y carpetas en la unidad compartida
  3. una vez en un tiempo actualizar la lista de carpetas y compararlo con el estado actual, Si el archivo no existe más usted sabe que ha sido borrado, si hay un nuevo archivo de ponerlo en el Cola y marcarla como "estar Subida "
  4. en la próxima "carrera de refresco" comprobar el archivo de cola, que el archivo tamaño no cambió la carga de archivos Probablemente completado, si el tamaño del archivo cambiado ponerlo en la cola de nuevo y marcarla como "siendo cargado"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top