Vise tilfeldig bilde

Å vise et tilfeldig bilde, f.eks. i en heading, gjøres som følger:

1: Kataloge med bilder

Først har vi en katalog, f.eks. img/heading/ hvor vi har plassert de tilfeldige bildene vi ønsker å benytte. Det anbefales at bildene som benyttes har lik dimensjon (høyde x bredde).

2: Inkludere bilde i (X)HTML-filen

Deretter refererer vi til et script vi har laget, som velger det tilfeldige bildet:

  1. <img src="img/heading/rid.php?pic=random" />

Denne bildehenvisningen henter et PHP-script i katalogen img/heading/ som heter "rid.php". Du kan selvfølgelig legge til ekstra atributter for f.eks. alternativ tekst, dersom du har behov for det. Husk at bildet bør validere!

3: Script som leser tilfeldig fil

Innholdet i "rid.php" ser ut som følger:

  1. <?php
  2. // Leser katalog
  3.  
  4. $folder=opendir(".");
  5. while ($file = readdir($folder))
  6. $names[count($names)] = $file;
  7. closedir($folder);
  8.  
  9. // Sorterer filer i arrayet
  10.  
  11. sort($names);
  12.  
  13. // Fjerner filer som ikke er bilder fra arrayet
  14.  
  15. $tempvar=0;
  16. for ($i=0;$names[$i];$i++){
  17. $ext=strtolower(substr($names[$i],-4));
  18. if ($ext==".jpg"||$ext==".gif"||$ext=="jpeg"||$ext==".png")
  19. {$names1[$tempvar]=$names[$i];$tempvar++;}
  20. }
  21.  
  22. // Tilfeldig
  23.  
  24. srand ((double) microtime() * 10000000);
  25. $rand_keys = array_rand ($names1, 2);
  26.  
  27. // Tilfeldig bilde fra arrayet
  28.  
  29. $slika=$names1[$rand_keys[0]];
  30.  
  31. // Bildedimensjoner
  32.  
  33. $dimensions = GetImageSize($slika);
  34. if (isset($pic)){header ("Location: $slika");}
  35. else {echo "<img src=\"$slika\" $dimensions[3]>";}
  36.  
  37. ?>

Scriptet er for tiden ikke i bruk på bekkelund.net, men har vært det tidligere. Scriptet er av god kvalitet og inneholder ingen kjente feil.

Copyright 1995 - 2008 Martin Bekkelund
xhtml
css
rss
cc
508
aaa
v6.08b