Zufallsbilder braucht man oft bei Bannerwerbung, oder wenn man die Vorschau einer Bildergalerie dynamisch erzeugen will.
Der PHP-Code dafür ist nicht sehr lang und durch die eingefügten Kommentare leicht zu verstehen. Mit der hier gezeigten Variante wird nicht einmal eine Datenbank benötigt!
<?php
$Ordner = "Ordnername"; //Verzeichnis der Bilder festlegen
if($Ordnerzeiger = opendir($Ordner)) //Ordner mit Ordnerzeiger öffnen
{ while($Bild = readdir($Ordnerzeiger))
{ if(!is_dir($Bild))
{
$Bilder[] = $Bild;
}
}
closedir($Ordnerzeiger); //Ordner mit Ordnerzeiger schließen
}
echo "Zufallsbild:<br>";
//Bild als HTML-Code ausgeben
echo"<img alt=\"Immer gleicher Text bei unterschiedlichen Bildern\" src=\"",
$Ordner,
"/",
$Bilder[rand(0, count($Bilder)+1)], //Counter für Bilder um 1 erhöhen
"\" >";
?>
Hinweis:
Damit das Script funktioniert, dürfen sich nur Bilddateien im festgelegten Verzeichnis befinden.
Die Namen der Bilder, das Dateiformat (PNG, JPG, GIF, …) und die Auflösung können hingegen variieren.
Die “ müssen mit \ ausgeschlossen werden, da sonst der String an dieser Stelle enden würde und es zu einem PHP-Error kommt.
Wie kann man eine feste Größe für unterschiedlich große Bilder im Script festlegen?
Ergänzen Sie dafür einfach die entsprechenden Attribute in der HTML Ausgabe:
<?php
$Ordner = "Ordnername"; //Verzeichnis der Bilder festlegen
if($Ordnerzeiger = opendir($Ordner)) //Ordner mit Ordnerzeiger öffnen
{ while($Bild = readdir($Ordnerzeiger))
{ if(!is_dir($Bild))
{
$Bilder[] = $Bild;
}
}
closedir($Ordnerzeiger); //Ordner mit Ordnerzeiger schließen
}
echo "Zufallsbild:<br>";
//Bild als HTML-Code ausgeben
echo"<img alt=\"Immer gleicher Text bei unterschiedlichen Bildern\" src=\"",
$Ordner,
"/",
$Bilder[rand(0, count($Bilder)+1)], //Counter für Bilder um 1 erhöhen
"\" width=\"100px\" height=\"100px\" >"; //witdh und height Attribute im HTML Code ergänzen
?>
Nicht vergessen: die neuen “ mit \ escapen.