Zufallsbild auf einer Webseite ausgeben

  • Immer wieder taucht die Frage auf, wie man ein beliebiges Bild aus einem Ordner auf seiner Webseite anzeigen kann.
    Als Antwort findet man oft die abenteuerlichsten und kompliziertesten Funktionen, aber es geht auch einfacher.
    Wenn man nur einen oder auch mehrere Ordner hat in dem Bilder liegen aus denen man ein Bild auslesen möchte, würden im Prinzip bereits 4 Zeilen PHP Code reichen um das zu verwirklichen.


    Voraussetzung für diese Methode ist allerdings PHP 4.3 oder höher.


    Es wird ein HTML Objekt benötigt in dieses schreibt man folgenden Code.


    PHP
    1. <?php
    2. $bilder = glob( "zufallsbilder/*.jpg" );
    3. shuffle( $bilder );
    4. $bildinfo = getimagesize( $bilder[0] );
    5. echo '<img src="' .$bilder[0]. '" ' .$bildinfo[3]. ' alt="Zufallsbild" />';
    6. ?>


    Der Ordner heißt in oberen Fall "zufallsbilder" dieser kann auch beliebig anderst heißen.


    Das wichtigste in diesem Fall ist das die Bilder in diesem Ordner die gleiche Größe haben. Denn sonst verschiebt sich alles bzw. die Bilder werden abgeschnitten.


    Möchte man mehrere Zufallsbilder anzeigen hilft dies weiter.


    PHP
    1. <?php
    2. $bilder = glob( "zufallsbilder/*.jpg" );
    3. $bild = array_rand( $bilder, 3 );
    4. foreach ($bild as $zufallsbild)
    5. {
    6. $bildinfo = getimagesize( $bilder[$zufallsbild] );
    7. echo '<img src="' .$bilder[$zufallsbild]. '" ' .$bildinfo[3]. ' />';
    8. }
    9. ?>


    Mit diesem Code werden 3 Bilder angezeigt.


    Möchte man nur gewisse Dateien anzeigen dann muss man sich diesen Code anpassen.


    PHP
    1. <?php
    2. $bilder = glob( "zufallsbilder/[a-f]*.jpg" );
    3. shuffle( $bilder );
    4. $bildinfo = getimagesize( $bilder[0] );
    5. echo '<img src="' .$bilder[0]. '" ' .$bildinfo[3]. ' alt="Zufallsbild" />';
    6. ?>


    [a-z] alle Dateien finden deren erster Buchstabe mit einem kleinen a bis z beginnt


    [aeiou] Dateien finden die mit a oder e oder i oder o oder u beginnen


    [KPZ] Dateien finden die mit einem grossen K oder P oder Z beginnen


    [!t] Das Ausrufeszeichen schließt den Buchstaben aus, es würde also alles gefunden werden das nicht mit einem kleinen t beginnt.