webForumDet fria alternativet

Autogenerera ett filnamn

PHP

3 svar · 243 visningar · startad av sonix

Medlem sedan aug. 20024 inlägg
Frågan#1

Hur ska man bära sig åt för att autogenerera ett filnamn som slutar på .jpg, alltså det ska slumpas fram?

Medlem sedan aug. 20002 975 inlägg
#2

Kanske något på det här hållet:

<?php 

// Ta fram en array med tecken att slumpa ur.
// Kan skrivas rakt upp och ner eller som här, 
// automatgenereras 0-9, A-Z, a-z. 
for ($i=48; $i<=57; $i++) $sign[] = chr($i); 
for ($i=65; $i<=90; $i++) $sign[] = chr($i);
for ($i=97; $i<=120; $i++) $sign[] = chr($i);

// Sätta startvärde i slumptabellen.
list($usec, $sec) = explode(' ', microtime());
mt_srand((float) $sec + ((float) $usec * 100000));

// Slumpa namn 8 tecken + .jpg
$name = "";
$max = sizeof($sign)-1; // max slumptal
for ($i=0; $i<8; $i++){
  $name .= $sign[mt_rand(0, $max)];
}
$name .= ".jpg";

echo $name;

?>
Medlem sedan aug. 20024 inlägg
#3

tackar

Medlem sedan aug. 2002114 inlägg
#4

mikrosekund då det skapas är annars fint. då får du aldrig (så länge inte någon flyttar bak klockan och någon råkar skapa fil exakt samma mikrosekund eller att två skapar fil exakt på samma mikrosekund) samma å behöver inte slumpa...

268 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)