数据库id中的PHP顺序文件夹名称

数据库id中的PHP顺序文件夹名称,php,Php,我需要为每个数据库ID创建唯一的文件夹名。 Datasbe ID是唯一的,并设置为自动递增。 我需要一些好的函数/类来将id转换成一个foldername,它应该是人类无法读取的,但与windows兼容 以前我使用过,但我遇到了问题,因为它会创建区分大小写的名称,这对于windows来说是一个问题,因为它会覆盖到同一个文件夹。 例如,它将Id 1转换为Baaab,将37转换为Baaab。您可以使用base26函数,该函数将1转换为a,将27转换为AA function num2alpha($n)

我需要为每个数据库ID创建唯一的文件夹名。 Datasbe ID是唯一的,并设置为自动递增。 我需要一些好的函数/类来将id转换成一个foldername,它应该是人类无法读取的,但与windows兼容

以前我使用过,但我遇到了问题,因为它会创建区分大小写的名称,这对于windows来说是一个问题,因为它会覆盖到同一个文件夹。
例如,它将Id 1转换为Baaab,将37转换为Baaab。

您可以使用
base26
函数,该函数将1转换为a,将27转换为AA

function num2alpha($n)
{
    for($r = ""; $n >= 0; $n = intval($n / 26) - 1)
        $r = chr($n%26 + 0x41) . $r;
    return $r;
}

您是否尝试过生成数据库ID的哈希值(如
md5
)?哈希值太长。正如你们所知,若文件夹名是散列的,并且里面有更大的文件名,windows会再次陷入麻烦。实际上,我可以从alphaID中删除主字符串中的大写或小写字母,但我不知道从数学上讲这会减少我的限制多少?使用base26数字,请参见下面的答案。这可以使用,但名称的首字母是a,B和C不好。