通过php将照片上传到linux服务器 - 文件夹可以有多少个文件?

问题描述:

我正在创建一个允许用户上传照片的网站。这是一个Linux服务器。通过php将照片上传到linux服务器 - 文件夹可以有多少个文件?

我想知道什么是最好的目录结构来保存这些图片?是否有一个文件夹可以有文件数量的限制?

它会更好,以节省每一位用户上传到一个单个文件夹中的每一张照片,并在数据库中的每一个参考。或者为每个用户创建一个文件夹,并将其所有照片放入其中?

+0

你不想尝试和打击的范围,文件查找将得到前久,很慢。我建议把它们放在一个文件夹树中。看看这个问题,它几乎是重复的:http://*.com/questions/446358/storing-a-large-number-of-images,这也是相关的:http://*.com /问题/ 466521 /如何一对多-文件-IN-A-目录是太多 – 2010-02-28 08:50:49

有可能是对文件没有限制,但根据文件系统,你想限制目录中的文件的数量到1000之间10,000。如果你的文件系统没有索引目录,即使有1000个文件也会使文件操作变慢。

如果你的文件系统没有索引目录,你可以很容易地在一个文件中包含100,000个文件,但你不想。在一个包含1k文件的目录上执行ls -l会变得很慢;你甚至可能会放弃它,甚至开始输出一个有100k文件的目录。

如果是不会太多的用户,其每个用户一个目录是一个好主意。如果将有很多用户(超过1k),我建议将这些文件存储在最多1k个文件的目录中,然后再创建一个新目录。

的唯一限制文件的目录可以在linux持有的空闲inode数的数量。你可以通过执行确定这个数字:

df -i 

的数字报道IFree是,你可以在一个目录持有,但要注意,这个数字是整个文件系统的文件数量的上限。因此,如果您将最大数量的文件放在一个目录中,那么您将无法在文件系统的其他任何位置创建更多文件。

一个为每个用户目录是去

@OP的路上,有几个方法,一个目录可以有所谓的“限制”。一种是如果设置了磁盘配额。另一个取决于文件系统。例如,在this文章,它说的ext3有

There is a limit of 31998 sub-directories per one directory, stemming from its limit of 32000 links per inode.

您可以找到这些信息进一步查找其他文件系统。例如,ReiserFS文件系统可以处理多达2^31%目录等等...