Pregunta

Me voy a hacer un gestor de archivos, los recursos para el usuario. Mi sitio web proporciona una ayuda al usuario crear un servicio de blog, sitio web y permite al usuario subir sus recursos. Estoy creará una estructura de carpetas, como a continuación. Cualquier sugerencia?

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

¿Debo usar la base de datos para indexar los archivos?

¿Fue útil?

Solución

Si me gustaría hacer algo como esto, en primer lugar me gustaría hacer lo siguiente:

  • restringir los tipos de archivos a unos pocos especifico (imágenes, mp3, mp4, tal vez SWF);
  • normalizar los nombres de usuario o limitarlos en alfanuméricos para que yo no tengo conflictos de nombres de carpetas de usuario;
  • normalizar los nombres de archivo de modo que las vueltas my awesome mp3 file (some comment here).mp3 en my-awesome-mp3-file-some-comment-here.mp3;
  • Compruebe si hay conflictos de nombre de archivo de modo que si un usuario sube un archivo con el mismo nombre que una anterior sin sobrescribir va a pasar (a su vez screenshot.png duplicado en screenshot-2.png);
  • definitivamente mover el manejo de las subcarpetas a la base de datos, dejando la estructura de archivos en el plano directorios de usuario.

La optimización adicional:

  • sumas de comprobación de archivos tienda en la base de datos para evitar el almacenamiento de archivos duplicados en el sistema de archivos. Limitar la comprobación de duplicados de los archivos propios.

Me escribió una página web de intercambio de archivos impulsado por la comunidad y creo que se nota. :)

Otros consejos

No tendría sentido utilizar una base de datos, ya que entonces sólo los archivos agregados a través de su interfaz sólo estaría disponible para ver a continuación (suponiendo que usted está leyendo la lista de archivos de una base de datos y no el sistema de archivos real).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top