Как стать автором
Обновить

Комментарии 14

Думаю папку cash лучше будет переименовать в cache
Айм сорри за мой французский :)
20.   if 'auto' == width and 'auto' == width

Завис на этой строчке
Надо поправить if 'auto' == width and 'auto' == height.
Вы указали достоинства, но есть еще и недостатки (пусть и не критичные)

Например:
— нагрузка да сервер при генерации превьюшек
— Случай, когда лучше сделать превьюшку вручную, например, большая фотография с множеством мелких объектов при автоматическом ресайзе превратиться в кашу. А в ручную можно былобы сделать кроп основной части.

Ну а так — спасибо и респект =)
Ресайз запускается только если картинка ещё не ресайзилась (то есть только один раз). А вообще конечно ограничение на размер картинок надо ставить и по весу и по размеру.
> Ресайз запускается только если картинка ещё не ресайзилась

правильно, превьюшки сохраняются в кэшэ.

Тогда какая разница сделаете вы превьюшки нужного размера сразу после загрузки или только по требованию(которое поумолчанию предпологается)? удаление кэша — зачем его удалять? вижу смысл если только полностью поменялась логика программы и нужно перегенерить все превьюшки заново.
Ресайз происходит только по требованию. Так удобнее чем сразу после загрузки. Например у вас есть доска объявлений с возможностью для юзера загрузить 5 картинок. После загрузки вам сразу придётся делать 15 а то и 20 превьюх (маленькая, средняя (для страницы с комментариями например), чуть больше маленькой для главной страницы в блок «Последние объявления» и ещё кучу чего может понадобить). А если например у вас дизайн сменился и вам не есть не спать, а надо превьюшки на 2 пиксела уменьшить везде? При данном подходе вы меняете только параметры в функции.
Кеш удалять может понадобиться. Кто-то запостил объявление, а это объявление уже неделю, скажем, никто не просматривал. Зачем превьюшки деражать на диске не используемые? А если кто то вдруг зайдёт то создадуться снова превьюхи, но не все 20, а только те которые на странице с объявлением (без средних и тех что для главной).
тема спорная. Все может меняться в зависимости от программы и необходимого количества превьюшек. Но в вашем ходе мыслей я тоже вижу смысл и не говорю что неправильно :)
>Ресайз происходит только по требованию.
Мне кажется, что стоило это более ясно указать. А так складывается впечатление, что идет призыв генерить превьшки при каждом запросе с клиента, за что, понятное дело, нужно сразу расстреливать.
Да ещё и ввести ограничение на число потоков конверсии. А то начнут сто пользователей жать F5 на десятке новых страниц — и привет серверу :) Особенно чревата ситуация, когда N пользователей запросят одну картинку до того, как сгенерируется её превью. Запустится сразу N процессов генерации. Результат может быть весьма парадоксальным, вплоть до повреждения картинок…



Уже несколько лет пользуюсь генерацией картинок по запросу, нашёл довольно много граблей :)
Оригинальное решение :)
ИМХО бесполезняк с этим мучиться.

Придет поисковик полазит по всем страничкам, нагенерит сервер по его запросам кучу картинок, по количеству равной количеству оригиналов.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории