[php, .zip, библиотека imagick] Преобразование изображений

Сергей18 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
17.08.2018

Разработать интерфейс общения пользователя и конвертер графических файлов.  

Последовательность работы (примерная).Авторизованный пользователь системы на вход подаёт сжатую в ZIP папку, он закачивается на сайт. Скрипт читает содержимое архива. Выводит статистику по архиву и типам файлов. Столько *.gif, столько *.jpg,  столько *.png, (основные файлы проекта) столько то других. В результате какого-то диалога который будет разработан в процессе скрипт получает настройки обработки этих файлов (программа генерит миниатюрки чтобы пользователь выбрал нужную степень сжатия). Формируется список задания на обработку этого архива после определения опций для архива. Отдаётся сприпту который висит на кроне и потихоньку эту очередь двигает. 

Суть обработки - это сохранить все файлы в такой же ZIP архив, но в меньшего размера, но не ниже определённой ошибки которая задаётся в результате диалога с пользователем в начале работы с конкретным архивом. Если в результате оптимизации файл получился больше по размеру - то он либо перегенеряется заново с параметрами похуже в рамках заданного в диалоге диапозона качества, либо просто копируется исходный без обработки. Если ошибка больше допустимого заданного уровня, тоже самое. Реакция на такие ситуации тоже задаётся до прогона архива. Прогоняется весь архив, выдаётся статистика оптимизации. JPG файлы ужали так-то, GIF файлы ужали так-то, и т.ж. 

Так как скрипт чтения ZIP архива просто лежит в мануале (надо только проследить чтобы хорошо работал с русскими названиями файлов), как и исходники пересохранения в imagick библиотеке с разным качеством, обегание ZIP сложности из себя не представляет. Основное же (>60%) программирования тут - это удобный интерфейс для работы, удобный механизм добавления параметров, какие-то пресеты, очередь, добавление новых расширений, красивое информирование о ходе работы скрипта, проверяет целостность файлов и их количество. В выборе MVC вы не ограничены. 

Заявки фрилансеров