Якщо є підтримка php та mod_rewrite, то можна так:
.htaccess:
RewriteEngine On
RewriteBase /
RewriteRule ^images\/(.*).jpg$ images.php?path=$1
images.php:
header("Content-Type: image/jpeg");
header("Content-Length: " .(string)(filesize($path)));
$base_path = 'images/';
$path = $base_path . $_GET['path'] . '.jpg';
$md5 = md5_file($path);
if (!file_exists('cache/' . $md5 . '.jpg')) {
list($width, $height) = getimagesize($path);
$newwidth = 1000;
$newheight = 1000;
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($path);
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
ob_start();
imagejpeg($thumb);
$data = ob_get_contents();
ob_end_clean();
file_put_contents('cache/' . $md5 . '.jpg', $data);
}
echo file_get_contents('cache/' . $md5 . '.jpg');
В папку cache будуть кидатись закешовані зображення. Над newwidth та newheight потрібно буде попрацювати.
P.S. Сподобалась задачка. Спеціально для вас написав