5. You can also specify the image to display like this: This would specify that an image named "gorilla.jpg" located in the image-rotation folder should be displayed. That's it, you're done. */ /* ------------------------- CONFIGURATION ----------------------- Set $folder to the full path to the location of your images. For example: $folder = '/user/me/example.com/images/'; If the rotate.php file will be in the same folder as your images then you should leave it set to $folder = '.'; */ $folder = '.'; /* Most users can safely ignore this part. If you're a programmer, keep reading, if not, you're done. Go get some coffee. If you'd like to enable additional image types other than gif, jpg, and png, add a duplicate line to the section below for the new image type. Add the new file-type, single-quoted, inside brackets. Add the mime-type to be sent to the browser, also single-quoted, after the equal sign. For example: PDF Files: $extList['pdf'] = 'application/pdf'; CSS Files: $extList['css'] = 'text/css'; You can even serve up random HTML files: $extList['html'] = 'text/html'; $extList['htm'] = 'text/html'; Just be sure your mime-type definition is correct! */ $extList = array(); $extList['gif'] = 'image/gif'; $extList['jpg'] = 'image/jpeg'; $extList['jpeg'] = 'image/jpeg'; $extList['png'] = 'image/png'; // interval in seconds when to switch to the next image $interval = 300; // You don't need to edit anything after this point. // --------------------- END CONFIGURATION ----------------------- $img = null; if (substr($folder,-1) != '/') { $folder = $folder . '/'; } $fileList = array(); $handle = opendir($folder); while (false !== ($file = readdir($handle))) { if (is_file($file)) { $file_info = pathinfo($file); if (isset($extList[strtolower($file_info['extension'])])) { $fileList[] = $file; } } } closedir($handle); if (count($fileList) > 0) { $imageNumber = floor(time() / $interval) % count($fileList); $img = $folder . $fileList[$imageNumber]; } if ($img != null) { $imageInfo = pathinfo($img); header('Content-type: ' . $extList[$imageInfo['extension']]); // Cache-Lebensdauer (in Minuten) $exp_gmt = gmdate("D, d M Y H:i:s", time() + $interval) ." GMT"; $mod_gmt = gmdate("D, d M Y H:i:s", time()) ." GMT"; header("Expires: " . $exp_gmt); header("Last-Modified: " . $mod_gmt); header("Cache-Control: public, max-age=" . $interval); // Speziell für MSIE 5 header("Cache-Control: pre-check=" . $interval, false); readfile($img); } else { if (function_exists('imagecreate')) { header ("Content-type: image/png"); $im = @imagecreate (100, 100) or die("Cannot initialize new GD image stream"); $background_color = imagecolorallocate($im, 255, 255, 255); $text_color = imagecolorallocate($im, 0, 0, 0); imagestring($im, 2, 5, 5, "IMAGE ERROR", $text_color); imagepng($im); imagedestroy($im); } } ?>