PHP: Mehrere Zufallsbilder ohne Wiederholung anzeigen

Immer wieder stand ich vor der Aufgabe mehrere Bilder per Zufall, und ohne das ein angezeigtes bild doppelt angezeigt wird, darzustellen. Die meisten Skripte dieser Art konzentrieren sich auf die Darstellung von nur einem einzigen Zufallsbild. Dieses Skript liest Bilder aus einem Ordner aus, zeigt eine bestimmte Anzahl davon per Zufall an und es wird kein Bild doppelt angezeigt.

Die Aufgabe besteht darin die Bilder aus einem Ordner auszulesen und ohne eine Wiederholung anzuzeigen.

Folgendes PHP-Skript erfüllt alle Wünsche.

Funktionen:

- Mehrere Bilder werden aus einem Verzeichnis gelesen…
- Und per Zufall angezeigt,
- Bilder werden nicht wiederholt angezeigt,
- Anzahl der Bilder kann geändert werden

CODE - Mehrere Zufallsbilder ohne Wiederholung anzeigen:

// Wählen Sie das Verzeichnis
$verz = opendir ('pfad/zum/bildverzeichnis');

// Hier werden die Bilder in einen Array eingelesen
$bildarray = array();

// Bilder werden nicht wiederholt
while ($file = readdir ($verz)) {
if (!is_dir($file)) {
array_push($bildarray, $file);
}
}
closedir($verz);

// Die Zahl 3 gibt an, wieviele Bilder aus dem Bildordner angezeigt werden sollen.
$rand_var = array_rand($bildarray, 3);
for($x = 0; $x < count($rand_var); $x++)
{
echo "< img xsrc=\"pfad/zum/bildverzeichnis/" . $bildarray[$rand_var[$x]] . "\">";
}

Viel Spass damit!

Share the love

BTW: Good Quality Brochures Online Color Printing at PsPrint.

Spread this KnowTe

Digg Del.icio.us Stumble Float Technorati Bump
Whatever you want to say!

uvo
Dec 03, 2010
No: 5 / ID: 7457

Herzlichen Dank für dieses Script. Kann es gut gebrauchen.
Ich hätte dazu noch eine Anregung:
Die Bildauswahl funktioniert, wie beabsichtig, zufällig; jedoch die Anordnung nicht. Meine Bilder haben immer die selbe (alphabetische) Reihenfolge/Auflistung.
Kann man da auch was machen? Dass z.B. “bild01.jpg” nicht immer zuoberst steht sondern fröhlich mit den anderen die Plätze tauscht?


Knowtebook
Feb 24, 2009
No: 4 / ID: 3966

da hat sich wohl ein fehler eingeschlichen. wer uns den wohl untergeschoben hat ;) vielen dank für den hinweis.

engl: replace

< img xsrc=\”pfad/zum/bildverzeichnis/”

with

< img src=\”pfad/zum/bildverzeichnis/”


Tom
Feb 23, 2009
No: 3 / ID: 3954

Wieso eigentlich xsrc? und dann ist da noch ein Leerzeichen vor xsrc … Sollte doch wohl eher <src=”…. heißen oder?

Sonst funktioniert es gut :)


Knowtebook
Aug 27, 2008
No: 2 / ID: 2317

du musst die Anzahl der Bilder bei $rand_var = array_rand($bildarray, 3); (Hier 3) auf die gewünschte Anzahl ändern


Michael
Aug 27, 2008
No: 1 / ID: 2316

Hey, das funktioniert!
Danke.
Aber wie schaffe ich es nun, dass nur 1 Zufallsbild gezeigt wird?

Leave a comment!
Note: You can also use your free Gravatar avatar on Knowtebook! Please also read our Publishing Policy before posting.

Ja, ich möchte bei Kommentaren benachrichtigt werden!

Trackbacks/Pings
Trackback-URL