在网站上存储用户上传文件的最佳方法是什么?

pta*_*mzz 10 storage file web

我正在尝试创建一个网站,我需要在其中存储一些用户上传的文件(比如一些个人资料图片,一些xml文件等).

那么存储这些文件的最佳方法是什么?

目前,我正在服务器上为每个注册的新用户创建一个新目录,并将每个用户的文件存储在各自的目录中,但有人告诉我这不是最好的方法.

那么,我该如何存储这些文件?我是否创建一个公共目录并根据用户ID或与用户相关的内容命名文件或者为每个用户创建一个新目录?

mik*_*iku 5

一个可行的解决方案将取决于您的要求,例如,您希望有多少用户。每个用户一个目录的解决方案可能很快会遇到一些文件系统限制(对于ext3,一个目录中子目录的最大数量固定为32000)。

一个文件每用户应该没问题了半晌(参见:?在一个目录多个文件如何实在是太多了)。

最后,如果您的用户群增加,则可以使用固定数量的分片(例如,基于用户ID)来限制目录数和每个目录的文件数(例如,请参见git如何将其对象松散地存储)格式)。