Viewing file: thumbs.php (1.92 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /** * On the fly Thumbnail generation. * Creates thumbnails given by thumbs.php?img=/relative/path/to/image.jpg * relative to the base_dir given in config.inc.php * @author $Author: ray $ * @version $Id: thumbs.php 677 2007-01-19 22:24:36Z ray $ * @package ImageManager */
require_once('config.inc.php'); require_once('Classes/ImageManager.php'); require_once('Classes/Thumbnail.php');
//check for img parameter in the url if(!isset($_GET['img'])) { exit(); }
$manager = new ImageManager($IMConfig);
//get the image and the full path to the image $image = rawurldecode($_GET['img']); $fullpath = Files::makeFile($manager->getImagesDir(),$image);
//not a file, so exit if(!is_file($fullpath)) { exit(); }
$imgInfo = @getImageSize($fullpath);
//Not an image, send default thumbnail if(!is_array($imgInfo)) { //show the default image, otherwise we quit! $default = $manager->getDefaultThumb(); if($default) { header('Location: '.$default); exit(); } } //if the image is less than the thumbnail dimensions //send the original image as thumbnail
if ($imgInfo[0] <= $IMConfig['thumbnail_width'] && $imgInfo[1] <= $IMConfig['thumbnail_height']) {
header('Location: '. $manager->getFileURL($image)); exit(); }
//Check for thumbnails $thumbnail = $manager->getThumbName($fullpath);
if(is_file($thumbnail)) { //if the thumbnail is newer, send it if(filemtime($thumbnail) >= filemtime($fullpath)) { header('Location: '.$manager->getThumbURL($image)); exit(); } }
//creating thumbnails $thumbnailer = new Thumbnail($IMConfig['thumbnail_width'],$IMConfig['thumbnail_height']); $thumbnailer->createThumbnail($fullpath, $thumbnail);
//Check for NEW thumbnails if(is_file($thumbnail)) { //send the new thumbnail header('Location: '.$manager->getThumbURL($image)); exit(); } else { //show the default image, otherwise we quit! $default = $manager->getDefaultThumb();
if($default) header('Location: '.$default); } ?>
|