Avatar billede d.kryger Praktikant
05. oktober 2006 - 14:28 Der er 4 kommentarer og
1 løsning

Vælg tilfældig fil

Hej eksperter.

Jeg har en side hvor jeg gerne vil vise et tilfældigt billede fra en bestemt mappe.

I mappen ligger der en masse billeder og siden skal automatisk vælge ét tilfældigt billede fra mappen.

Hvordan gør man det?
Avatar billede jaw Nybegynder
05. oktober 2006 - 14:41 #1
F.eks.:

$i = 0;
$files = array();
$handle = opendir("./billeder/");
while(($file = readdir($handle)) !== false) {
  if(is_file("./billeder/".$file)) {
    $files[] = $file;
    $i++;
  }
}
echo "<img src='./billeder/".$files[(rand(0, $i))]."'>";
Avatar billede d.kryger Praktikant
06. oktober 2006 - 08:14 #2
Tak for det... Men hvis jeg sidder og trykker på F5 når siden er loadet, så sker det nogle gange at den ikke findet noget billede... Hvis jeg så kigger i kilden, så er ".$files[(rand(0, $i))]." lig med ingenting!

Er det en fejl i koden, og hvad kan man evt. gøre ved det?
Avatar billede jaw Nybegynder
06. oktober 2006 - 10:30 #3
Måske det skal være:
echo "<img src='./billeder/".$files[(rand(0, ($i-1)))]."'>";
Avatar billede d.kryger Praktikant
06. oktober 2006 - 10:55 #4
Det virker MEGET bedre... Jeg har nu opdateret over 50 gange uden fejl!
Læg et svar og du får point... :)
Avatar billede jaw Nybegynder
06. oktober 2006 - 10:58 #5
Super :)

Det skyldtes, at arrayet ikke indeholdt op til $i lag, men kun $i-1 lag. Men det giver vel næsten selv eftersom jeg satte et -1 på :) ?!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester