0

我对md5了解不多,所以我一头雾水。在我的图片托管网站上,当您上传图片时,它会自动给它这个 looong md5 名称。我如何使它更短?名字就像:786a350023162842f7bb879bcc9aa560 我需要他们像:zl34s3

继承人的代码:

//set the file name
            $filename = $file_array['name'][$i];
            $extension = get_file_extension($filename);
            $new_file_name = 'original-' .md5(rand(1000, 9999999) . $filename). '.' . $extension;

让我使用另一个系统呢?外面有吗?

4

3 回答 3

0

那样不行,MD5是一个哈希,你不要为它选择大小!您可以制作自己的类似函数来制作校验和。您可以使用 substring 函数获取 MD5 的一部分!

于 2013-07-13T04:03:43.000 回答
0

使用substr剪切前 6 个字符md5

substr(md5(rand(1000, 9999999)), 0, 6);

演示

编辑

$new_file_name = 'original-' .substr(md5(rand(1000, 9999999)), 0, 6) . $filename . '.' . $extension;
于 2013-07-13T04:04:56.523 回答
0

使用另一种命名方案,例如,使用用户名和时间戳作为名称的一部分。或为每个用户使用单独的子目录,只需将时间戳放入名称中。有无限的可能性。

于 2013-07-13T04:08:48.443 回答