我正在尝试创建一个网站,我需要在其中存储一些用户上传的文件(例如一些个人资料图片,一些xml文件等)。
那么存储这些文件的最佳方法是什么?
目前,我正在服务器上为每个注册的新用户创建一个新目录,并将每个用户的文件存储在各自的目录中,但有人告诉我这不是最佳方式。
那么,我该如何存储这些文件?我是否创建了一个公共目录&根据用户ID或与用户相关的内容命名文件或者为每个用户创建一个新目录??
答案 0 :(得分:5)
可行的解决方案取决于您的要求,例如:你期待多少用户。每个用户一个目录的解决方案很快就会遇到一些文件系统限制(对于ext3,一个目录中的子目录的最大数量固定为32000)。
每个用户一个文件应该可以使用很长时间(请参阅:How many files in a directory is too many?)。
最后,如果您的用户群增长,您可以使用固定数量的分片(例如,基于用户ID)来限制目录数量和每个目录的文件数量(作为示例,请参阅{{3} })。
答案 1 :(得分:2)
你有几个选择。
最好的方法取决于您的申请,时间表和您的经验。选项1可能是最简单的。方案2可能是最灵活的。如果选项3满足您的文档需求,它可能是最佳表现。