Se ho capito bene, ciò che si vuole fare è fornire agli utenti finali un'interfaccia molto semplice che sia integrata nel loro file system. Vedranno una cartella ordinaria sul loro sistema operativo, copieranno e spostano i file, li rinomineranno, ecc. Qualunque cosa stiano facendo su qualsiasi altra cartella sui loro computer.
Tuttavia, questa cartella non sarà una cartella reale in background. Si desidera avere il controllo completo sulle operazioni su questa cartella. Quando copiano un file in questa cartella, vuoi uno script PHP per gestirlo. Quando creano una nuova cartella sotto questa speciale, un altro script PHP si prenderà cura di essa.
Come suggerito da salva, la creazione di un'interfaccia del file system per conto proprio è davvero una buona soluzione; ma non è né veloce né facile. Dal momento che hai citato PHP come back-end, penso che tu voglia un approccio di alto livello.
Il tuo problema ha due lati da considerare: client e server. Sul lato client, è necessario un file system che sia facile da montare come una cartella su un sistema posix o come un'unità su Windows. Ci sono molte alternative per questo, Samba e NFS sono due di quelli che hai menzionato.
Lo farò da server in PHP, come ho capito. Considerando questo, suggerirei di usare WebDav invece di Samba o NFS. È molto più facile da implementare sul lato server. È disponibile su quasi tutti i sistemi operativi moderni.Esistono persino plug-in per browser per l'accesso a webdav in modo da poter fornire facilmente più interfacce per i tuoi clienti.
Sul lato server, se si utilizza PHP, esiste una libreria php open source denominata sabredav. Con una semplice ricerca su Google, ho persino trovato a tutorial per questo.
In questa configurazione, è possibile gestire i file nel modo desiderato. Questo può essere un sistema a macchina singola incorporando un server Web come nginx o Apache nel tuo sistema per il lato PHP o fornito come servizio in esecuzione sui tuoi server.
Spero di aver capito correttamente la tua domanda e questa è la soluzione che stavi cercando.
UPDATE: Se non si ha la possibilità di utilizzare una soluzione diversa, come ho suggerito e deve veramente essere Samba e NFS; entrambi i protocolli sono davvero troppo da implementare in PHP. Sarà un grosso peso e un mal di testa a lungo termine.
Tuttavia, è possibile utilizzare i normali server NFS/Samba e provare a monitorare gli aggiornamenti dei file in background con l'applicazione. Ciò significa che le funzionalità speciali che si desidera fornire come la codifica dei file o la scansione antivirus saranno disponibili con una latenza probabilmente accettabile. Per implementarlo, puoi controllare tutti i file e le cartelle sul sistema e lavorare su quelli modificati/nuovi. Una cosa più semplice sarebbe utilizzare server con meccanismi di registrazione per ogni azione e seguendo i loro registri. Questo può essere anche meglio di interfacciare direttamente le macchine client. Se si esegue correttamente l'architettura del proprio sistema, la latenza tra le modifiche dei file e l'elaborazione delle stesse sarà davvero ragionevole anche su un sistema molto grande. Per questo, nas4free può essere una soluzione davvero buona in quanto fornisce molte interfacce da un singolo sistema e in base a its features page, ha capacità syslog.
Si passa tra i processi, non i file. Non sono sicuro di cosa intendi per "creare la directory come una pipa" – Attila
Ho pensato alle pipe denominate (che possono essere utilizzate per inserire dati, cioè con 'cat [file]> named_pipe' e ottenere dati da) - ma questo era solo un primo colpo al buio. Sto cercando un modo per fornire un "endpoint" tramite Samba e NFS in cui i file possano essere posizionati e gestiti immediatamente dalla scansione antivirus e dal meta processo. Questo dovrebbe fornire un'elaborazione in tempo reale ed evitare un enorme consumo di memoria. – rabudde
Mi ricorda il demone sendmail *. La posta entra nella cartella/var/spool/mqueue elaborata da sendmail e viene spostata (o rimossa) alla fine. –