Les meilleures pratiques pour faire le gestionnaire de fichiers pour l'utilisateur
-
01-10-2019 - |
Question
Je vais faire un fichiers, gestionnaire des ressources pour l'utilisateur. Mon site offre un service d'aide utilisateur de créer blog, site web et permettent à l'utilisateur télécharger leurs ressources. Je suis va créer une structure de dossiers comme ci-dessous. Toute suggestion?
usercontents
--user1
----folder1
----folder2
--user2
--user3
----my images
base de données de l'utilisation Devrais-je pour indexer ces fichiers?
La solution
Si je fais quelque chose comme cela, d'une part, je ferais ce qui suit:
- limiter les types de fichiers à quelques je précise (images, mp3, mp4, peut-être swf);
- Normaliser les noms d'utilisateur ou les limiter à alphanumériques pour que je n'ai pas de conflits de dossiers de nom d'utilisateur;
- normaliser les noms de fichiers de sorte que les spires de
my awesome mp3 file (some comment here).mp3
dansmy-awesome-mp3-file-some-comment-here.mp3
; - vérifier les conflits de nom de fichier de sorte que si un utilisateur télécharge un fichier avec le même nom qu'un précédent sans risque d'écrasement se passera (double tour
screenshot.png
enscreenshot-2.png
); - déplacer définitivement le traitement des sous-dossiers à la base de données, en laissant la structure de fichier dans les répertoires utilisateur plat.
Une optimisation supplémentaire:
- checksums de fichiers dans la base de données magasin pour éviter le stockage des fichiers en double sur le système de fichiers. Limiter la vérification en double à propres fichiers.
J'ai écrit un site Web de partage de fichiers axé sur la collectivité et je pense que cela montre. :)
Autres conseils
Il serait logique d'utiliser une base de données, puis les fichiers que ajoutée par votre interface ne serait disponible que pour voir alors (en supposant que vous lisez la liste des fichiers à partir d'une base de données et non le système de fichiers réel).