Domanda

ho intenzione di fare un manager file, le risorse per l'utente. Il mio sito web fornire un utente del servizio di contribuire a creare blog, sito web, e permette caricare le loro risorse. Sono creerà una struttura di cartelle come qui di seguito. Ogni suggerimento?

usercontents
--user1
----folder1
----folder2
--user2
--user3
----my images

Dovrei USE database per indicizzare i file?

È stato utile?

Soluzione

Se farei una cosa del genere, in primo luogo vorrei fare quanto segue:

  • limitare i tipi di file da un paio a specificare (immagini, mp3, mp4, forse swf);
  • normalizzare i nomi utente o limitarle in alfanumerico in modo che non ho conflitti di cartella nome utente;
  • normalizzare i nomi di file in modo che trasforma my awesome mp3 file (some comment here).mp3 in my-awesome-mp3-file-some-comment-here.mp3;
  • richiedere il nome del file conflitti in modo che se un utente carica un file con lo stesso nome di un precedente senza sovrascrivere accadrà (girare screenshot.png duplicato in screenshot-2.png);
  • sicuramente spostare la movimentazione di sottocartelle al database, lasciando la struttura dei file nella directory utente piatta.

Ulteriore ottimizzazione:

  • checksum dei file memorizzate nel database per evitare di memorizzare i file duplicati sul file system. Limitare controllo duplicato propri file.

ho scritto un guidato dalla comunità sito web di file sharing e penso si vede. :)

Altri suggerimenti

In questo senso sarebbe di utilizzare un database, come file quindi aggiunto solo attraverso l'interfaccia sarebbe solo disponibile per la visualizzazione allora (presumendo che si sta leggendo l'elenco dei file da un database e non il file system effettivo).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top