BTW
Dem
FTP-Server ist es sowas von egal ob es sich um echte Dateien handelt. Der
FTp-Server arbeitet einfach nur mit Streams. Wo dieser Stream herkommt, wie du den verwaltest, dass ist deine Sache.
Du könntest also das Dateisystem nebst den Inhalten selber komplett in einer Datenbank verwalten (ob das Sinn macht ist erstmal egal).
Auch ist es dem
FTP-Server schnuppe, wo die Dateien liegen (solange er darauf zugreifen kann).
Du kannst also die gesamte Dateistruktur in deiner
DB halten und die Datei-Inhalte werden unter einem beliebigen Dateinamen auf der Platte abgelegt.
Die Datenbank führt z.B. ein ID-Feld für jede Datei. Diese ID ist nun auch gleichzeitig der reale Dateiname auf der Platte.
Damit die Verzeichnisse nicht übervoll werden kannst du diese nach folgender Logik ablegen:
Eine ID ist idR. ein Int64 und kann als 8-stellige Hex-Zahl dargestellt werden.
Die Datei
MeineDatei.txt
mit der ID
485325
in Hex
000767CD
ist dann real auf der Platte unter
{Ablage-Verzeichnis}\00\07\67\CD.txt
zu erreichen