Si te entendí correctamente, lo que quieres hacer es proporcionar a los usuarios finales una interfaz muy fácil que esté integrada a su sistema de archivos. Verán una carpeta común en su sistema operativo, copiarán y moverán archivos, los cambiarán de nombre, etc. Lo que sea que estén haciendo en cualquier otra carpeta en sus computadoras.
Sin embargo, esta carpeta no será una carpeta real en el fondo. Desea tener control total sobre las operaciones en esta carpeta. Cuando copian un archivo en esta carpeta, quiere que un PHP Script lo maneje. Cuando crean una nueva carpeta bajo esta especial, otra secuencia de comandos PHP se encargará de ello.
Como Salvador había sugerido, crear una interfaz de sistema de archivos por su cuenta es realmente una buena solución; pero no es ni rápido ni fácil. Como mencionaste PHP como tu back-end, creo que quieres un enfoque de mayor nivel.
Su problema tiene dos lados que atender: el cliente y el servidor. En el lado del cliente, necesita un sistema de archivos que sea fácil de montar como una carpeta en un sistema POSIX o como un disco en Windows. Hay muchas alternativas para esto, Samba y NFS son dos de ellos como usted mencionó.
Harás parte del servidor en PHP, según entendí. Teniendo esto en cuenta, sugeriría usar WebDav en lugar de Samba o NFS. Es mucho más fácil de implementar en el lado del servidor. Está disponible en casi todos los sistemas operativos modernos.Incluso hay complementos de navegador para acceso webdav para que pueda proporcionar múltiples interfaces para sus clientes muy fácilmente.
En el lado del servidor, si usa PHP, hay una biblioteca php de código abierto llamada sabredav. Con solo una búsqueda rápida en Google, incluso he encontrado a tutorial para esto.
En esta configuración, puede manejar archivos de la manera que desee. Puede ser un sistema de una sola máquina insertando un servidor web como nginx o Apache en su sistema para PHP o como un servicio que se ejecuta en sus servidores.
Espero haber entendido bien su pregunta y esta es la solución que estaba buscando.
ACTUALIZACIÓN: Si usted no tiene la oportunidad de utilizar una solución diferente, como lo sugerido y lo que realmente tiene que ser Samba y NFS; ambos protocolos son realmente demasiado para implementar en PHP. Será una gran carga y un dolor de cabeza a largo plazo.
Sin embargo, puede utilizar servidores NFS/Samba normales e intentar controlar las actualizaciones de archivos en segundo plano con su aplicación. Esto significa que las características especiales que desea proporcionar, como el etiquetado de archivos o el escaneo de virus, estarán disponibles con una latencia probablemente aceptable. Para implementar esto, puede ir con la comprobación de todos los archivos y carpetas en el sistema y trabajar en los modificados/nuevos. Una cosa más fácil sería usar servidores con mecanismos de registro para cada acción y seguir sus registros. Esto puede ser incluso mejor que interconectar máquinas cliente directamente. Si diseña su sistema correctamente, la latencia entre las modificaciones de archivos y su procesamiento será realmente razonable incluso en un sistema muy grande. Para esto, nas4free puede ser una solución realmente buena, ya que proporciona muchas interfaces desde un solo sistema y de acuerdo con its features page, tiene la capacidad de syslog.
Se canaliza entre procesos, no archivos. No estoy seguro de lo que quiere decir con "crear un directorio como un conducto" – Attila
Pensé en conductos con nombre (que pueden usarse para poner datos, es decir, con 'cat [file]> named_pipe' y obtener datos de) - pero esto era solo un primer disparo en la oscuridad. Estoy buscando una forma de proporcionar un "punto final" a través de Samba y NFS, donde se pueden ubicar los archivos que se procesan mediante el escaneo de virus y el metaproceso de inmediato. Esto debería proporcionar un procesamiento en tiempo real y evitar un gran consumo de memoria. – rabudde
Me recuerda a sendmail * daemon. El correo va a la carpeta/var/spool/mqueue procesada por sendmail y finalmente se mueve (o elimina). –