Thumbvorschau + Zufallsbild

Akolut

Grünschnabel
Zufallsbildscript öffnet die Bilder nicht

Hi,

ich habe auf einer Überichtsseite ein Script das zufällig aus meinen Ordnern ein Bild aussucht und ausgibt. Dieses habe ich bisher viermal auf eine Seite. Leider ist mein Problem das immer nur immer das erste Bild aus der ersten Galerie angezeigt wird und das Script versucht die Bilder in allen Ordnern zu finden.

Beispiel: Bild "Berlin.jpg" ist im Ordner "Berlin". Dieses Bild sucht er nun in den Ordnern "Frankfurt", "Hamburg" und "München".

Leider finde ich den Fehler nicht. Ich habe auch schon versucht den Ordner wieder schließen zu lassen per closedir, leider aber ohne erfolg.

Code:
    <?php
       $datei = "bilder/berlin/";
       $verzeichnis = opendir($datei);
       while($file = readdir($verzeichnis)) {
           $s = @getimagesize($datei."/".$file);
           if(in_array($s[2], array(1,2,3)))
               $auswahl[] = $file;
                       }
       mt_srand((double)microtime()*1000000);
       $number = mt_rand(0,count($auswahl)-1); 
 echo '<a href="index.php?id=galerie&galerie=berlin" target="_self"'.$datei.'/'.$pic.'" target="_blank""><img src="'.$datei.'/'.$auswahl[$number].'" height="150" width="150" border="0">';
       ?>

Ich danke euch wirklich für eure Hilfe!
Grüße, Chris
 
Zuletzt bearbeitet:
Realisier das ganze, in dem du beim durchlaufen des Ordners
1. Die Dateineamen in ein array() ablegst.

2. dnanch mittels count(array()) zählen wieviel bilder vorhanden sind.

3. Per Zufallsgenerator ermittelst du einen zufälligen array Wert, den du dann auch lädst.
$zufallsbild = echo "<img src=\"".bilderarray[(rnd(count(bilderarray)))]."\">";

o.ä.

so so könnte es tun!
 
Hi!

Auch ich habe ein ähnliches Problem:

PHP:
$handle = array(opendir('./fotodatenbank/data/media/12/'),opendir('./fotodatenbank/data/media/15/'),opendir('./fotodatenbank/data/media/17/'),opendir('./fotodatenbank/data/media/18/'));
while (false !== ($img = readdir(each($handle))))
{
if (strstr($img,"jpg")==true or strstr($img,"JPG")==true or strstr($img,"gif")==true) {
  $bild[$i] = $img;
  $i++;  
}
  
}
closedir($handle);

srand(time());

// Zufallszahl generieren und in $zahl speichern
$zahl = rand(0, count($bild) - 1); 



echo "<img src='./fotodatenbank/data/media/12/" . $bild[$zahl] . "' border=\"0\" />";

Soweit habe ich es teils aus meiner Unwissenheit und einem Zufallsbild-Tutorial zusammenklamüsert...
Wo liegt der kleine oder grobe Schnitzer? (Thumbnails sind übrigens nicht erwünscht!)
Übrigens funktioniert das soweit ganz gut, sofern man alles nur aus einem Ordner ausliest :-)

Danke schonmal!
 
Zurück