login  Naam:   Wachtwoord: 
Registreer je!
 Forum

random image (Opgelost)

Offline Appie_Dijk - 02/09/2009 15:50
Avatar van Appie_DijkLid Hallo iedereen,

ik weet het, er zijn al veel vragen over gesteld maar ik kan niet het script vinden wat ik zoek... (ben al een tijdje aan het zoeken.)

Ik wil graag een script dat random 1 afbeelding ophaald... ik heb op dit moment dit:

  1. <?php
  2. $map = "images"; //Map naam
  3. $random = rand(1, 10); //random getal tussen 1 en 10
  4. echo "<img src=". $map ."/". $random .".jpg>";
  5. ?>


werkt opzich prima... maar ik ben nu verplicht om alle foto's een nummer als naam te geven en als ik meer dan 10 foto's heb het script aan te passen...

ik wil dus graag een map opgeven ($map) en dat er dan door het php-bestand gekeken wordt welke afbeeldingen er allemaal zijn (dus niet alleen een nummer als naam en als het kan ook meerdere extenties) en daarvan 1 afbeelding random pakt (en indien mogelijk 2 of 3 afbeeldingen random)...

wie wil me helpen?

6 antwoorden

Gesponsorde links
Offline PRO - 02/09/2009 16:12
Avatar van PRO JS interesse http://us3.php.net/manual/en/function.readdir.php

hiermee kan je een dir uitlezen en zodoende er een willekeurige uit trekken.
Offline voltrex - 02/09/2009 16:24
Avatar van voltrex Lid Script op Sitemasters waar je ook wel iets van kan gebruiken:
http://www.site...dom_banner
Offline Appie_Dijk - 02/09/2009 16:25
Avatar van Appie_Dijk Lid @PRO

zover ben ik al:
  1. $dir = "fotos/kids/";
  2.  
  3. if ($handle = @opendir($dir))
  4. {
  5. while (false !== ($file = @readdir($handle)))
  6. {
  7. $bestand = $dir ."/". $file ;
  8. $ext = pathinfo($bestand);
  9. if($ext['extension'] == "jpg" || $ext['extension'] == "JPG")
  10. {
  11. $bestanden[] = $file;
  12. }
  13. }
  14. @closedir($handle);
  15. }


maar hoe moet ik hier random 1 of meer afbeeldingen uithalen?
Offline Mythix - 02/09/2009 16:43 (laatste wijziging 02/09/2009 16:46)
Avatar van Mythix Nieuw lid
  1. //fotos zitten in $bestanden array
  2. $file = $bestanden[rand( 0, count( $bestanden )-1];


gebruik ook best de PHP constante DIRECTORY_SEPARATOR in plaats van "/" voor cross platform compatibility...
Offline Koen - 02/09/2009 17:11
Avatar van Koen PHP expert @Mythix: daarom is de functie PHP.net: array_rand in de wereld geroepen 
Offline Mythix - 03/09/2009 10:53
Avatar van Mythix Nieuw lid das idd nóg handiger 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.199s