9 March 2009

Превью и Resize картинок в html

PHP
Навеяно практически одноименным постом

Я вспомнил как однажды решал указанную проблему. Мой способ очень похож но имеет несколько дополнительных плюсов… и минусов )))

Плюсы:
— Картинки генерятся только когда они нужны (т.е. мы не храним ненужных изображений и не нагружаем сервер в случае массовой загрузки изображений)
— PHP работат только первый раз (когда картинка нужного размера еще не существует)
— Размеры нужного изображения фигурируют только на стороне шаблона, т.е. грубо говоря в html



Одним из минусов моей технологии я вижу то, что надо обрабатывать 404-ю ошибку php-кодом.

Теперь суть:

Допустим на сервере есть файл /images/u324/myfoto.jpg

В соответствии с дизайном куда-то нам нужно вставить версию картинки, уменьшенную до необходимого размера. Скажем 150 пикс по высоте

Мы просто подключаем картинку с url:

/resize/h150/images/u324/myfoto.jpg

Обработчик 404-й ошибки понимает что от него хотят и создает картинку указанного размера по указанному адресу ну и возвращает ее же в ответ.

Соответственно в следующий раз запрос пойдет конкретно на существующую уже уменьшенную картинку. Если верстальщик захотел вдруг не 150 пикс а 170 — изменяется только url подключаемой картинки в шаблоне и больше ничего (это мне нравилось больше всего)

Помимо уменьшения по высоте (h150) также можно было уменьшить по ширине или по максимальной стороне, передавая соотв. букву вместо h.

Вот собственно и все ))

Надеюсь что не велосипед изобрел…
Tags:previewresizeimagesphp
Hubs: PHP
+1
8k 17
Comments 65
Top of the last 24 hours