Модернизация системы обработки изображений (ImageMagick + WebP + Resize 1200px)

Бюджет: по договоренности
Модернизация системы обработки изображений (ImageMagick + WebP + Resize 1200px)

На сайте доски обьявлений от тамаранга v2 ,обновленный до rocky linux8, php 8x ,nginx1,28,2mysql 8,00,44 phpmyadmin 5,2,3 на vps 8потоков,24 озу,200 nume

1. Цель работы:
Обеспечить поддержку загрузки современных форматов фото (HEIC, AVIF), внедрить автоматическую оптимизацию всех изображений в формат WebP и организовать экономное хранение файлов на сервере (Rocky Linux 8).

2. Настройка серверного окружения:

Установить и настроить пакеты ImageMagick и php-imagick.
Rocky Linux 8 и PHP 8.x, важно, чтобы расширение imagick работало стабильно.
В конфигурации Nginx (client_max_body_size) и PHP
Размеры php ini уже коректированы на сайте – проверьте
3. Логика обработки изображений (через папку custom/):

Поддержка форматов: Реализовать прием и чтение файлов JPG, PNG, GIF, WEBP, HEIC, AVIF.
Конвертация в WebP: Все загружаемые файлы должны конвертироваться в формат WebP (рекомендуемое качество 80 %).
Ресайз (Original):
Максимальный размер «Оригинала» после загрузки — 1200px по длинной стороне (высота — пропорционально).
Этот сжатый файл сохраняется как основной источник.
«Важное условие ресайза: Реализовать логику downscale only. Уменьшать только те изображения, размер которых превышает 1200px по длинной стороне. Изображения меньшего размера сохранять без изменения разрешения (не растягивать), выполняя только конвертацию в формат WebP».
Удаление исходника (ОБЯЗАТЕЛЬНО): Сразу после генерации WebP-оригинала (1200px), исходный файл, загруженный пользователем (который мог весить 10-20 МБ), должен быть удален с сервера.
Генерация превью: Все остальные размеры (view — 800px, m, s) нарезаются из уже созданного WebP-оригинала и сохраняются также в формате .webp.
4. Интеграция с CMS Tamaranga:

База данных: Реализовать автоматическую подмену расширения файла на .webp при записи путей в таблицы БД (например, в модуле объявлений bbs).
Чистота кода: Все правки PHP-логики должны быть выполнены путем переопределения классов в директории custom/. Прямая правка ядра (app/biff/) запрещена.
Совместимость: Обеспечить корректное отображение старых изображений в формате .jpg, которые уже есть на сервере.
5. Ожидаемый результат:

Пользователь может загрузить фото до 20 МБ (включая HEIC с iPhone).
На сервере в папке files/ создаются только оптимизированные .webp файлы.
Вес одного объявления в базе не превышает 1.5 МБ.
Сайт корректно отображает новые фото во всех браузерах, поддерживающих WebP
Опубликован 22.04.2026 в 08:32

Выберите способ верификации:

Обновите страницу после прохождения верификации.