我将为用户制作文件,资源管理器。我的网站提供服务帮助用户创建博客,网站并允许用户上传其资源。我将创建下面的文件夹结构。有建议吗?

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

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

有帮助吗?

解决方案

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

  • 将文件类型限制为我指定的几个(Images,MP3,MP4,也许是SWF);
  • 将用户名称归一化或将其限制为字母数字,以使我没有用户名文件夹冲突;
  • 将文件名正常化,以便 my awesome mp3 file (some comment here).mp3 变成 my-awesome-mp3-file-some-comment-here.mp3;
  • 检查文件名的冲突,以便用户上传文件与上一个名称相同的文件,不会发生覆盖(转弯重复) screenshot.png 进入 screenshot-2.png);
  • 一定要将子文件夹的处理方式移至数据库,使用户目录中的文件结构平整。

进一步优化:

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

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

其他提示

使用数据库是很有意义的,因为只有通过接口添加的文件才能可以查看(假定您是从数据库读取文件列表,而不是实际的文件系统)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top