根据开始和停止编号范围以及ID编号创建子文件夹

时间:2014-05-07 19:37:18

标签: php

我正在使用ID号为9位数的系统,看起来像这样.... 100001000 最后4位数字主要是我必须使用的。

使用PHP我有一个图像上传器来上传与产品相关的图像,然后在文件名中包含ID号。

为避免在单个文件夹中包含数十万张图像,我希望根据一系列数字将图像存储到子文件夹中。

例如,每个文件夹最多500个ID相关图片,且ID 100001000 ,因此任何ID 100001000 100001500 的图片都将转到文件夹100001000, 100002000 100002500 将转到文件夹100002000, 100003000 100003500 将转到文件夹100003000等等......

我需要以这种方式执行此操作的原因是因为此单页项目中没有使用数据库。因此,它不仅需要将图像组织成这样的子文件夹,而且还需要以这种方式完成,以便将来只需知道ID号即可检索到正确的图像,然后我就可以轻松确定它所属的子文件夹。

我知道这应该是一个简单的数学方程式,但我不确定根据ID号确定文件夹的简单函数的最佳方法?

我希望能够将ID号传递给PHP函数并让它为该ID喷出正确的文件夹编号....

function getFolder($idNumber){
    retunr $folderNumber;
}

1 个答案:

答案 0 :(得分:1)

以下等式基于以下假设:最后4个数字将始终在1000和9999之间:

x: the last 4 numbers
folderNr: floor[ (x - 1000) / 500 ]
folderName: 100000000 + (1000 + 500 * folderNr)

示例:

x: 1200
folderNr: floor[ 0,4 ] = 0
folderName: 100000000 + 1000 = 100001000

x: 2500
folderNr: floor[ 3 ] = 3
folderName: 100000000 + 2500 = 100002500