Разработка веб-ресурса с использованием HTML, CSS, JavaScript, PHP. Применение базовых технологий для создания фотоархива в веб-интерфейсе. Захаркина В.В. - 19 стр.

UptoLike

Составители: 

36
Научно-исследовательские проекты, существенную часть которых
представляют архивы фотографий из семейных альбомов,
музейных собраний и т.д.
Наконец, прекрасные архивы фотографий часто публикуются на
персональных сайтах. Зачастую и в этом случае автор сайта хотел
бы дать возможность своим друзьям загружать фотографии на
сервер через веб-интерфейс.
Во всех этих
случаях, помимо рассмотренных выше вопросов
компоновки материала и обеспечения функциональности с помощью
клиентских сценариев, возникает проблема создания удобных для
пользователя веб-интерфейсов, позволяющих загрузить на сервер
фотографию. При этом возникает масса вопросов:
Как преобразовать загруженные фотографииведь добрая
половина пользователей способна прислать двухмегабайтный
файл с изображением размера 3600х2400 пикселов.
С какими именами сохранять файлы на сервере: оставлять
исходные или присваивать новые. Видимо, придется присваивать
новые, так как имена присланных файлов вполне могу содержать
недопустимые символы.
Каким образом создавать миниатюры: программным или вручную.
Очевидно, без серверных технологий (например, PHP). в этом случае
не обойтись. Поле выбора файла (элемент формы
HTML input
типа file) отобразить в странице загрузки не представляет труда.
Но далее работают лишь серверные сценарии. Во-первых, надо
организовать хранение загруженного графического файла и так или
иначе создать миниатюру. Во-вторых, необходимо автоматически
сформировать документ с миниатюрами на основании набора
хранящихся на сервере файлов.
Рассмотрим ряд аспектов создания серверных сценариев PHP,
работающих с загруженными изображениями.
37
Формирование документа с
миниатюрами
Даже если разработчик не предусматривает возможности загрузки
фотографий через веб-интерфейс, применение серверных технологий
для объемных и постоянно пополняемых архивов крайне актуально.
Вместо того, чтобы проводить верстку вручную, добавляя в документ
десятки тегов <img …> с их многочисленными атрибутами, язык
серверного программирования позволяет просканировать каталог с
изображениями и сформировать документ с набором миниатюр
автоматически.
Рассмотрим два варианта. В первом миниатюры создаются вручную, а
во второмгенерируются PHP масштабированием исходных
изображений.
Для определенности сделаем ряд предположений.
Компоновка страницы с миниатюрами простейшая, все
миниатюры одинаковых размеров. Это предположение позволяет
избежать громоздких описаний, не имеющих отношения к сути
серверного программирования.
Фотографии находятся в отдельном каталоге,
а миниатюрыв его
подкаталоге, причем имена файлов полномасштабных фотографий
и миниатюр совпадают.
Функция JavaScript, обеспечивающая вывод полномасштабной
фотографии имеет имя showPhoto() и имеет три атрибута:
имя файла фотографии (с расширением), ее ширина и ее высота в
пикселах. Эта функция может быть описана в текущем документе
или во внешнем файле.
1. Миниатюры заготовлены вручную
Сканируется каталог с заранее созданными миниатюрами, миниатюры
выводятся на страницу. Несмотря на необходимость
предварительного создания миниатюр вручную, их качество