gpt4 book ai didi

php - 生成唯一的文件名

转载 作者:可可西里 更新时间:2023-11-01 13:33:44 28 4
gpt4 key购买 nike

我想为上传的文件生成一个唯一的文件名。它们的长度应为 5 个字符,并且仅包含以下字符:abcdefghijklmnopqrstuvwxyz0123456789。这是我的代码:

$chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
$length = 5;
$filename = '';
for($i = 0; $i < $length; $i++)
{
$filename += $chars[mt_rand(0, 36)];
}

echo $filename;

但我总是以 1 或 2 个字符长的整数结尾,而不是任何字符串字符。如果我运行这段代码:

$chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
$length = 5;
$filename = '';
for($i = 0; $i < $length; $i++)
{
echo $chars[mt_rand(0, 36)];
}

它工作正常,我得到以下输出:8iwzf

我在这里做错了什么?谢谢!

最佳答案

5 个字符不会给您带来太多“唯一性”(熵),因此您冒着重复文件名的风险。

为什么不用

$filename = uniqid();

您可以通过添加前缀和其他内容来增加熵,以使重复的机会(在现实世界中)为零。

关于php - 生成唯一的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9648882/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com