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?

War es hilfreich?

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 in my-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 in screenshot-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).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top