Изменение размера изображений "На лету"

Продолжаем тему ресайза изображений.

Часто приходится сталкиваться с проблемой динамического ресайза (иногда в нескольких разных вариантах) одного изображения, парикрепленного в какую-либо структуру контента. Для невысоконагруженных проектов предлагаю использовать модуль TimThumb

Суть работы: Скрипт ставится в отдельную папку и, грубо говоря, фильтрует пропущенные через него изображения. Отресайзенное однажды изображение кладед в папку кэша и в следующий раз при таком запросе не отрабатывает, а просто отдает его.

Пример вызова:

<img src="/path-to/timthumb.php?src=/path-to/image.jpg&w=150&h=200&zc=1" alt="" />

w: width
h: height
zc: zoom crop (0 or 1) - для того, чтобы сделать, например, все изображения прямоугольными или все изображения квадратными...
q: quality (default is 75 and max is 100)

Нужно не забыть создать папку cache с правами 777 в папке со скриптом. Вот и всё.

Папку cache придется периодически чистить - для этого нужно написать задание в cron или придется модифицировать скрипт, сам этого не делал, но думаю, несложно будет писать текущую дату в еще один файл и проверять - если прошло, допустим N дней с этой даты - очистить папку. В таком случае, конечно возможны тормоза в работе скрипта, только один раз в N дней...

rss email