Я уже когда-то писал про мой способ кэшировать картинки, а сейчас заметил, что не выкладывал сюда переделанный варинт.
Идея осталась прежней, только работа с изображениями была отдана либе http://phpthumb.gxdlabs.com/
/**
* Скрипт iCacher создан что бы облечить кеширование изображений на сайте
* и организовать лаконичную возможность генерации картинок различных размеров.
* iCacher является т.н. роутером для http://phpthumb.gxdlabs.com/ и не будет
* работать правильно при отсутвие данной библиотеки.
*
* Для правильно работы подразумевается соблюдение нескольких правил:
*
* 1. В папке MAIN_FOLDER хранятся оригинальные изображения.
* 2. В папку CACHE_FOLDER будут храниться измененные изображения.
* 3. При обращение к несуществующему файлу из папки CACHE_FOLDER происходит
* перенаправление на данный файл*, который в свою очередь создает
* необходимый файл либо возвращет 404 ошибку.
* * .htaccess rewrite rule:
* RewriteRule ^images_folder/([0-9a-z]+)/([0-9a-z]+)/(.*)$ iCacher.php?param=$1&size=$2&file=$3 [L,QSA]
* 4. После генерации изображений они должны быть доступны по прямому запросу.
* 5. Для обновления миниатюр вы должны самостоятельно организовать удаление
* созданых скриптом файлов.
* В крайнем случае можно использовать GET параметр flush с любым значением.
*
*
* При необходимости создавайте собственные плагины или ф-ции обработки.
*/
Скрипт лежит на github.com - https://github.com/Rpsl/iCacher/blob/master/iCacher.php
В целом все хорошо, скрипт местами дебильный и с не логичной реализацией, но уже пол года работает на одном хайлоад проекте.
Кстати, на папку с кэшироваными изображениями натравлен скрипт, который удаляет файлы созданные более 30 дней назад, что бы не скапливать мусор.