Best Practice bei der Herstellung von Dateimanager für Benutzer
-
01-10-2019 - |
Frage
Ich werde eine Datei, Ressourcen-Manager für Benutzer machen. Meine Website bieten eine Service Hilfe Benutzer Blog, Webseite erstellen und erlaubt dem Anwender, ihre Ressourcen laden. Ich bin wird wie unten eine Ordnerstruktur erstellen. Jeder Vorschlag?
usercontents
--user1
----folder1
----folder2
--user2
--user3
----my images
Sollte ich Datenbank zu indizieren diese Dateien?
Lösung
Wenn ich so etwas tun würde, erstens würde ich folgendes tun:
- beschränkt die Dateitypen auf wenig angegebene (Bilder, MP3, MP4, vielleicht swf);
- normalisieren die Benutzernamen oder beschränken sie so der alpha, dass ich nicht den Benutzernamen Ordner Konflikte haben;
- normalisieren die Dateinamen, so dass
my awesome mp3 file (some comment here).mp3
verwandelt sich inmy-awesome-mp3-file-some-comment-here.mp3
; - Nach Dateinamen Konflikten so dass, wenn ein Benutzer eine Datei mit dem gleichen Namen uploads als vorherigen kein Überschreiben passieren wird (drehen doppelten
screenshot.png
inscreenshot-2.png
); - auf jeden Fall den Umgang mit Unterordnern in die Datenbank verschieben, um die Dateistruktur in der Benutzerverzeichnisse Wohnung zu verlassen.
Eine weitere Optimierung:
- Speicherdatei Prüfsummen in der Datenbank doppelte Dateien auf dem Dateisystem zu speichern zu vermeiden. Beschränken Dublettenprüfung auf eigene Dateien.
Ich schrieb eine Gemeinschaft getrieben File-Sharing-Website, und ich denke, es zeigt. :)
Andere Tipps
Es wäre sinnvoll, eine Datenbank zu verwenden, da dann nur Dateien hinzugefügt durch Ihre Schnittstelle nur zur Verfügung stehen würde dann zu sehen (vorausgesetzt, Sie die Dateiliste aus einer Datenbank gerade lesen und nicht mit dem tatsächlichen Dateisystem).