小编典典

成千上万的图像,我应该如何组织目录结构?(Linux)

linux

我正在由1and1.com托管的Linux服务器上,成千上万的用户上传了数千张图片(我相信他们使用的是CentOS,但不确定该版本)。这是一个与语言无关的问题,但是,供您参考,我正在使用PHP。

我的第一个想法是将它们全部转储到同一目录中,但是,我记得前一阵子,在一个目录中可以放多少个文件或目录是有限制的。

我的第二个想法是根据用户的电子邮件地址对目录内的文件进行分区(因为无论如何,这都是我使用的用户名),但我不想遇到目录中目录的限制…。

无论如何,对于来自user@domain.com的图像,我要这样做:

/images/domain.com/user/images...

这是明智的做法吗,如果成千上万的用户说“ gmail”,那我什至可以更进一步

/images/domain.com/[first letter of user name]/user/images...

所以对于mike@gmail.com,它将是…

/images/domain.com/m/mike/images...

这是一个不好的方法吗?其他人在做什么?我也不想遇到太多目录的问题…


阅读 213

收藏
2020-06-03

共1个答案

小编典典

我将执行以下操作:

  1. 对每幅图像进行MD5哈希处理。
  2. 在要跟踪这些内容的数据库中写入该MD5哈希值。
  3. 将它们存储在目录结构中,在该目录结构中,您将MD5哈希十六进制字符串的前两个字节用作目录名。因此,如果哈希为“ abcdef1234567890”,则将其存储为“ a / b / abcdef1234567890”。

使用哈希还可以让您合并多次上传的同一张图片。

2020-06-03