Zufälliges Header-Bild ausgeben mit MODx
von Thomas Jakobi am Mittwoch, 28. Mai 2008 um 09:30 Uhr.
Manchmal möchte man auf einer Webseite z.B. im Header ein zufälliges Bild anzeigen lassen. Dafür habe ich ein kleines Snippet geschrieben.
Das Snippet gibt den Namen einer Bilddatei im Standard-Verzeichnis assets/images/header zurück. Als Parameter sind &folder und &defaultImage nutzbar.
RandomImage.snippet.php
<?php /**************************************************** * Name: RandomImage * Version 0.3.1 * Desc: returns the name of a random image file * Author: Thomas Jakobi - Bitte Javascript aktivieren! * Date: 28. May. 2008 * * Usage: [!RandomImage!] * * Parameters: * folder: folder to search for the random image (defaults to 'assets/images/header') * defaultImage: default image if no image is found (defaults to 'blank.gif') * ***************************************************/ $folder = (isset ($folder)) ? $folder : 'assets/images/header'; $defaultImage = (isset ($defaultImage)) ? $defaultImage : 'blank.gif'; $i = 0; $imgDir = opendir($folder); while ($file = readdir($imgDir)) { //checks that file is an image $file_type = strrchr($file, "."); $is_image = eregi("jpg|gif", $file_type); $is_thumb = !strncmp($file, '.thumb_', 7); if ($file != '.' && $file != '..' && $is_image && !$is_thumb) { $images [$i++] = $file; } } closedir($imgDir); if ($i == 0) { return ($defaultImage); } srand(( double )microtime() * 1000000); $image_name = $folder . '/' . $images [rand(0, sizeof($images) - 1)]; return ($image_name);
Viel Erfolg!