"convert %1\$s -antialias -resize 150x %2\$s", 'thumb' => "convert %1\$s -antialias -resize 45x %2\$s", 'gallery' => "convert %1\$s -antialias -resize 400x %2\$s" ); $mode = @$_REQUEST['mode']; if(empty($mode) || !array_key_exists($mode, $conversions)) exit_with_error('Valid mode is required'); // get the path to file to be processed $src = get_file_from_querystring(); // create the cache file name $target = get_cache_file_name($src, $mode); // if possible, display the image from cache if(file_exists($target)) { if($image_handle = imagecreatefromjpeg($target)) display_image_and_exit($image_handle); exit(0); } // run the imagemagick conversion $cmd = sprintf($conversions[$mode], escapeshellarg($src), escapeshellarg($target)); $convert = system($cmd, $ret); // on success, display converted img // otherwise display the src file if($ret < 2) { if($image_handle = @imagecreatefromjpeg($target)) display_image_and_exit($image_handle); } else { if($image_handle = @imagecreatefromjpeg($src)) display_image_and_exit($image_handle); } exit(0); function display_image_and_exit($image_handle) { ob_clean(); header('Content-type: image/jpeg'); imagejpeg($image_handle); ob_flush(); imagedestroy($image_handle); exit(0); } ?>