Génération de nom de fichier unique

Je veux générer un nom de fichier unique pour le téléchargement des fichiers. Ils devraient être de 5 caractères, et ont les caractères suivants uniquement: abcdefghijklmnopqrstuvwxyz0123456789. C'est mon code:

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

echo $filename;

Mais je finis toujours avec 1 ou 2 caractères entiers longs, jamais n'importe quelle chaîne de caractères. Si j'exécute ce code:

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

il fonctionne très bien, et j'obtiens le résultat suivant: 8iwzf.

Que pouvais-je fait de mal ici? Merci!

  • pas += mais .= dans filename .= $chars
InformationsquelleAutor James Dawson | 2012-03-10