Seite 1 von 1

PHP - Bilder eines Ordners einlesen und zufällig wiedergeben

Verfasst: 26.06.2007 12:01
von Frogger
hi, hab wieder eine frage zu PHP.

und zwar: wie kann ich einen ordner nach bildern (nur jpg) durchsuchen
und in ein array abspeichern?
anschließend soll aus diesem array per zufall ein eintrag ausgewählt
werden und dann als imagelink ausgegeben werden.

soweit bin ich schonmal.
nur mit dem unterschied, das ich alle bildernamen manuell ins array
eintragen muss und anschließend wird aus einem anderen ordner das
dazugehörige thumbnail des bildes ausgegeben.

ich möchte das nun automatisieren, das man nichts mehr von hand
eintragen muss.
kann mir vlt jemand tipps geben oder am besten einen code posten <)

das hab ich momentan:

Code: Alles auswählen

<?php
$bilder=array("01.jpg","02.jpg", "03.jpg", "04.jpg","05.jpg", "06.jpg", "07.jpg", "08.jpg", "09.jpg");
mt_srand ((double)microtime()*1000000);
$zahl = mt_rand(0,(count($bilder) - 1));
echo "<a href=\"galerie/portrait01.php\"><img border=\"1\" src=\"galerie/thumb/portrait_".$bilder[$zahl]."\"></a>";
?>

Verfasst: 26.06.2007 12:21
von a14xerus
Hab den Code nicht getestet... er zeigt nur das durchsuchen von ordnern

hää. das forum löscht den code immer... :-/

jetzt hier: http://www.alexander-n.de/extern/durchsuchen.php

Verfasst: 26.06.2007 14:07
von Frogger
vielen dank. habs jetzt :allright:

Code: Alles auswählen

<?php
   $dir = "galerie/portrait";
   $endung=".jpg";
   $bilder = array();
   if(!is_dir($dir)) return false;
   $verzeichnis = dir($dir);
   while($datei = $verzeichnis -> read()) {
    if($datei[0] != "." && substr($datei,strlen($endung)*(-1)) == $endung) {
     $bilder[] = $datei;
    }
   }
   $verzeichnis->close();
   sort($bilder);

   mt_srand ((double)microtime()*1000000);
   $zahl = mt_rand(0,(count($bilder) - 1));
   echo "<a href=\"galerie/portrait01.php\"><img border=\"1\" src=\"thumb/portrait_".$bilder[$zahl]."\"></a>";
?>

ps: damit der php-code hier angezeigt werden kann, musst du bei
"HTML in diesem Beitrag deaktivieren" das häckchen setzen :)