php - 在文件夹中存储数百万张图像的更好解决方案?

标签 php linux image directory-structure

我计划根据照片的类型和大小将照片存储在文件夹中:

图片/{OBJECT}/{OBJECT_ID}/{OBJECT_ID}_{SIZE}.jpg

// FOLDERS LOOK LIKE THIS:
images/product/14/14_thumb.jpg
images/product/14/14_large.jpg
images/category/124/124_large.jpg
...

根据这种方法,我可以轻松地通过很小的努力到达任何物体:

function get_image($OBJECT, $OBJECT_ID, $SIZE){
    ...
}
// get image
get_image('product', 14, 'large');

我认为这对我来说已经足够好了,但我想确定......也许我错过了一些东西。

那你觉得怎么样?

最佳答案

这还不够好。
将 ID 分解为一定数量的部分,每个部分将是目录级别的名称。
例如,ID 445578 您可以存储在
/44/55/78/445578.jpg

/4/4/5/445578.jpg
尺寸可以是后缀,是的。

你需要这样做,因为你可以拥有超过 32k 的 ID,但文件夹并不总是可以保存超过 32k 的文件。

关于php - 在文件夹中存储数百万张图像的更好解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6170638/

相关文章:

PHP : rename() How do I find the error cause?

php - 显示 :table each time div appears - jquery, php、wordpress 的 div 中的替代图像位置

php - 如何将特征与与继承的静态方法冲突的非静态方法一起使用?

java - 在linux CL中使用扩展ascii字符作为参数的问题

linux - 使用 sed 替换不规则数量的斜杠 (/)

ios - UIView 中的损失质量图像

php - PHP 中的 setcookie 能否产生多个 "Set-Cookie" header ?

ruby - 如何将 "exec"与 "DISPLAY"联系起来?

android - 如何将 BitmapDrawable 设置到 ImageView 中?

java - 如何在将图像上传到 Firebase 之前调整图像大小?