0

我要为用户制作一个文件、资源管理器。我的网站提供服务帮助用户创建博客、网站并允许用户上传他们的资源。我将创建一个如下所示的文件夹结构。有什么建议吗?

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

我应该使用数据库来索引这些文件吗?

4

2 回答 2

1

使用数据库是有意义的,因为那时只有通过您的界面添加的文件才能查看(假设您正在从数据库而不是实际的文件系统中读取文件列表)。

于 2010-09-06T09:26:00.220 回答
1

如果我要做这样的事情,首先我会做以下事情:

  • 将文件类型限制为我指定的几种(图像、mp3、mp4,也许是 swf);
  • 规范化用户名或将它们限制为字母数字,这样我就不会出现用户名文件夹冲突;
  • 规范化文件名,使其my awesome mp3 file (some comment here).mp3变为my-awesome-mp3-file-some-comment-here.mp3;
  • 检查文件名冲突,以便如果用户上传与前一个文件同名的文件,则不会发生覆盖(将重复文件screenshot.png变为screenshot-2.png);
  • 绝对将子文件夹的处理移至数据库,使用户目录中的文件结构保持平坦。

进一步优化:

  • 在数据库中存储文件校验和以避免在文件系统上存储重复文件。将重复检查限制在自己的文件中。

我写了一个社区驱动的文件共享网站,我认为它显示了。:)

于 2010-09-06T09:27:06.960 回答