Новость из категории: Информация, Интернет

Своя веб-галерея с Piwigo: знакомство и основы

Содержание:
1. Знакомство, основы и установка (Вы читаете данный раздел);
2. Работа с метаданными и управление альбомами;
3. Поисковый движок и метаданные;
4. Темы оформления и плагины.

Своя веб-галерея с Piwigo: знакомство и основы

При создании одного из своих сайтов мне понадобилась веб-галерея, куда можно было бы выкладывать в общественное достояние тематические наборы фотографий, старинных открыток и других изображений. Требования к движку галереи я сформулировал следующим образом:
> Возможность для посетителя выбора разрешения просмотра и доступность подлинников изображений. Такой функциональностью обладает, например, сайт Яндекс.Фотки.
> Возможность скачать выбранные изображения в виде ZIP-архива вместо того, чтобы скачивать картинки, щелкая и сохраняя их по одной.
> Создание вложенных альбомов. Это становится особенно актуальным в случае появления большого числа альбомов. Поддержка вложенных альбомов позволяет структурировать их, составляя тематические иерархии.
> Мощная подсистема тегов. Без нее найти нужную картинку будет долго и затруднительно.
> Живое сообщество разработчиков и пользователей. Можно, конечно, создать галерею на основе какого-нибудь старого заброшенного движка, но, подразумевая долгую и счастливую жизнь создаваемой галереи, хочется положить в ее основу движок, который активно развивается, активно используется (что способствует выявлению и исправлению ошибок) и порождает своеобразную субкультуру, в благодатной почве которой появляются многочисленные плагины, расширяющие возможности движка.
> Простота установки и работы. В мои критерии «системных требований» входят PHP + СУБД вроде MySQL.

Я скачал около дюжины движков галерей и принялся их устанавливать и испытывать. Одни мне не понравились интерфейсом, другие - своими возможностями. В итоге «испытаний» я остановился на Piwigo (www.piwiqo.org), которому и посвящена эта статья.

Установка приложения и загрузка изображений

Piwigo - «классическое» PHP-приложение, для работы которого надо создать базу данных MySQL. Сами фотографии хранятся на диске в виде файлов, но MySQL используется для хранения переменных, тегов и другой вспомогательной информации.
Для установки Piwigo нужно распаковать содержимое дистрибутива в каталог, где будет «проживать» галерея, назначить содержимому каталога достаточные для веб-сервера права доступа и зайти в него через браузер. Запустится нехитрая процедура установки: ввод логина и пароля, имя базы данных и т.п. В случае успешного проведения этих операций галерея будет готова к использованию.
Перед добавлением фотографии в галерею скажу, что альбомы в Piwigo делятся на «виртуальные» и «физические»:
> Фотографии виртуальных альбомов хранятся в общем каталоге, куда Piwigo сохраняет загруженные файлы.
> Фотографии физических альбомов хранятся в подкаталогах директории /galleries и загружаются туда по FTP либо SSH.

Своя веб-галерея с Piwigo: знакомство и основы
Галерея в Piwigo

Оба вида альбомов выглядят одинаково для пользователя. А вот для администратора использование обоих типов альбомов может стать головной болью в плане упорядочения. Поэтому лучше сразу выбрать что-то одно. Физические альбомы хороши, если у вас уже есть упорядоченная по каталогам коллекция фотографий. Допустим, имеется огромная коллекция, где выстроена иерархия вложенных директорий, и вы не хотите при загрузке этой коллекции заново воссоздавать всю структуру - вам нужно закачать коллекцию целиком «как есть», а в Piwigo только потом что-нибудь исправить.

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

Технически часть альбомов можно держать виртуальными, а часть - физическими. Минусы такого подхода в том, что виртуальные альбомы не могут быть вложенными в физические и наоборот. Это значит, что если у вас в галереях есть рубрики-альбомы (допустим, «Тверь», «Вологда», «Чугуев»), то внутри каждой из этих рубрик вы не сможете держать оба типа альбомов: если «Тверь» - физический альбом, то внутри него могут быть только физические альбомы-подкаталоги; если «Чугуев» - виртуальный, внутри - только виртуальные.

Итак, есть несколько способов загрузки фотографии в Piwigo. Во-первых, веб-интерфейс. Он подходит для виртуальных альбомов и находится в меню «Фотографии -» Добавить». На выбор предлагается два загрузчика фотографий: на основе Flash и на основе javascript/ HTML. Первый позволяет выбирать множество файлов за один заход, второй - то же самое, но менее удобно: для каждого нового файла надо нажимать на кнопку, добавляющую поле, и в это поле помещать путь к файлу (конечно, выбрав его в диалоговом окне). Для загрузки больших файлов и больших (по количеству) наборов файлов, возможно, придется вносить изменения в настройки PHP в php.ini (с последующей перезагрузкой сервера) или в файл .htaccess. В последнем случае PHP-переменные управляются командами php_flag для логических значений и php_value - для строковых и числовых значений; например:
php_flag mybool On
php_value myint 777
php_value mystring "hello world"

Эти директивы работают, если в Apache для конкретного сайта/локации включены AllowOverride Options или AllowOverride All.

Рассмотрим основные переменные в PHP, отвечающие за загрузку файлов. Включение этой функции делается так:
file_uploads = On

Максимальный размер одного загружаемого на сервер файла (в примере - 256 мегабайт):
upload_max_filesize = 256M

Количество передаваемых за один раз (т.е. за один запрос) файлов:
max_file_uploads = 777

Друга важная настройка - post_max_size. Файлы отправляются на сервер через POST-запрос в формате multipart/form-data, а в post_max_size указывается максимальный размер для всех передаваемых через POST данных. Таким образом, значение этого поля - сумма размеров передаваемых файлов, полей и MIME-заголовков. Поэтому значение post_max_ size должно быть больше, чем max_file_uploads. Если PHP в инфраструктуре вашего сервера задействован еще и в загрузке видео, то размеры закачиваемого файла и сопутствующие переменные стоит увеличить в разы.

Во-вторых, загружать картинки в Piwigo можно через протоколы FTP/SSH. Для этого нужно создать в каталоге /galleries вложенную директорию и поместить туда фотографии, затем перейти в «Панель администрирования» и на её странице (не углубляясь в меню) нажать на кнопку «Быстрая синхронизация». Появится страница с параметрами добавления нового альбома, после правки которой остается нажать «Отправить» внизу страницы. Новый альбом занимает то место в иерархии альбомов, какое определено самой иерархией каталогов в файловой системе. Если альбом находится в корне, то и появится в корне галереи, а если вложен - будет вложенным. Кириллические имена в названиях каталогов не разрешены. Название альбома по умолчанию равно названию каталога. Переименовать альбом на русский можно через веб-интерфейс (имя каталога останется прежним).

Третий способ загрузки картинок - плагин Piwigo из состава KDE-плагинов KIPI. Он доступен, например, в смотрелке картинок Gwenview, в меню «Модули -> Экспорт». Надо выбрать экспортируемые файлы и задействовать этот пункт меню. Возникнет окно, где надо ввести путь к галерее (включая http://), логин и пароль.

Если всё пройдет успешно, появится еще одно окно со списком существующих альбомов, где выбираем, куда закачивать фотографию, и нажимаем кнопку «Начать публикацию». Жаль, что нельзя создавать прямо из этого окна новый альбом, что существенно снижает полезность плагина. Плагин также доступен в других сходных программах (например, в digiKam). Отмечу также, что «гномовский» просмотрщик картинок gThumb не имеет функций экспорта в Piwigo, но таковые есть в другой смотрелке для GNOME - Shotwell.

Своя веб-галерея с Piwigo: знакомство и основы

Наконец, существуют отдельные приложения экспорта в Piwigo для платформ Android и iOS, и систем Linux, Mac OS и Windows (http://piwigo.org/ext/index.php?cid=11).

Рейтинг статьи

Оценка
4/5
голосов: 5
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

  • #1
  • 06.12.16
  • Автор: Алина
Можно менять параметры в PHP на большие, если memory limit 128 MB? У меня upload_max_filesize = 128MB и max_file_uploads = 128 MB.

спасибо
^ Наверх