Отложенное создание миниатюр

#1 18 июня 2013 в 21:11
Для того, чтобы разгрузить процесс добавления записи в блог, изменения аватара, и вообще всего, что связано с загрузкой картинок, думаю сделать так.
Картинка загружается в определенный каталог(создается только одна её копия), далее, при запросе поста, профиля и т.п., т.е. там где есть картинки, (если еще не созданы миниатюры — под вопросом), выставится флаг в сессии, что браузер запросит миниатюры картинок. Соответственно, при запросе картинок с сервера, если они не существуют (с нужным размером) в папке — запустится скрипт их создания и они "отдадутся" клиентскому браузеру. Если же они уже есть, apache(или даже лучше nginx) отдаст эти картинки браузеру, не загружая сервер лишней работой.

На данный момент есть реализация скрипта, которая проверяет наличие картинки (с нужным размером) в папке и если её нет, создает картинку с нужным размером. И потом отдает сам картинку — что не есть хорошо, так как это лишняя нагрузка на сервер. (также как вариант, скрипт может не отдать картинку, если она запрошена не со страницы сайта 😊 )

У кого какие идеи по этому поводу и какие будут еще предложения?

P.s. лучше всего хранить все картинки в одном месте, раскладывая их по папкам по id пользователя (решения, вроде удаленного хранения (picture hosting) картинок тоже рассматриваются)

мое, отсюда
#2 19 июня 2013 в 22:55
1. Каким то чудом повесить чудесный обработчик на определённую папку.
2. По запросам ya_kartinko_200x300.jpg или 200x300/ya_kartinko.jpg он должен отдавать отресайзенные картинки, если они уже существуют, то отдавать готовые.
3. Спустя определённое время очищать тумбочки (частями).

В итоге на серве всегда лежит оригинал фото и могут отдаваться любые размеры изображений для различных модулей, слайдеров и прочей. Эти тумбочки какое то время лежат, а потом удаляются, ибо, вдруг этот размер уже не нужен для модуля, тогда мы не захламляем серв ненужными изображениями и в тоже время всегда можем отдать требуемый размер, не загружая бедный камешек.
#3 20 июня 2013 в 20:06

1. Каким то чудом повесить чудесный обработчик на определённую папку.
2. По запросам ya_kartinko_200x300.jpg или 200x300/ya_kartinko.jpg он должен отдавать отресайзенные картинки, если они уже существуют, то отдавать готовые.
3. Спустя определённое время очищать тумбочки (частями).

lokanaft

это уже сделано 😊
Только это лишняя нагрузка на apache, так как каждый раз, на каждую картинку запускается обработчик который отдает уже готовую картинку (упрощенно echo $image;)

пусть эту работу делает nginx, он это хорошо умеет делать
#4 20 июня 2013 в 21:33
Крот, так я о том и говорю, что вовсе не обязательно делать это на пхп. Нужен обработчик на самом серве, а не по сломанному телефону php и подобного.
У меня идея, надо скинуться и арендовать сервер. На поддоменах каждый сможет размещать изображения для своего сайта с таким вот автоматическим ресайзом.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.