为用户制作文件管理器的最佳实践

问题描述 投票:0回答:2

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

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

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

php file-upload file-management
2个回答
1
投票

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


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 );
  • 绝对将子文件夹的处理移至数据库,而用户目录中的文件结构则保持不变。

进一步优化:

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

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

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.