【发布时间】:2012-03-10 18:08:43
【问题描述】:
我想为上传的文件生成一个唯一的文件名。它们的长度应为 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。
我在这里做错了什么?谢谢!
【问题讨论】:
-
不是
+=,而是.=infilename .= $chars