Image Resizer — это мощный инструмент для работы с изображениями, включающий их изменение размеров (resize), сжатие и управление кешем. Этот модуль разработан для администраторов сайтов и конечных пользователей, позволяя оптимизировать изображения для веб-сайта без потери качества, сохраняя минимальный размер файлов.
Основные возможности
1. Изменение размеров изображений
Панель администратора
Модуль оснащён удобной административной панелью с двумя вкладками:
1. Настройки кеша
Пользователь отправляет запрос с параметрами (ширина, высота, путь к изображению). Модуль проверяет параметры, применяет ограничения, заданные в конфигурации, и возвращает обработанное изображение.
Создание кешированных изображений
Администраторы могут:
https://site.com/resize.php?file=/images/sample.jpg&w=300&h=200
{
"filter": "Imagick::FILTER_LANCZOS",
"quality": 85,
"depth": 24
}
Процесс кеширования изображений
Основные этапы кеширования и хранения изображений:
Модуль предоставляется с чистой лицензией без привязки к домену.
Стоимость: 4000р. (единовременная оплата)
После покупки вы получите полный исходный код модуля, готового к установке и использованию.
Для приобретения — пишите: t.me/snh001
------------------------
Хотите уникальный модуль для DLE? Сделаем под ключ! Связь: t.me/snh001
------------------------
Основные возможности
1. Изменение размеров изображений
- Поддержка изменения ширины и высоты изображений с сохранением пропорций.
- Возможность указания разрешённых размеров через файл allowed_sizes.txt.
- Если файл пуст, допускаются любые размеры.
- Использует библиотеку Imagick для высококачественной обработки.
- Возможность настройки уровня качества сжатия (от 1 до 100).
- Поддержка глубины цвета (8-bit, 24-bit и другие).
- Выбор фильтров ресайза (например, LANCZOS, BOX, TRIANGLE).
- Автоматическое определение форматов изображений: JPEG, PNG, GIF, WebP.
- Удаление ненужных метаданных для оптимизации размера изображений.
- Обработанные изображения сохраняются в кеше для ускорения повторного доступа.
- Возможность очистки кеша через административную панель.
- Информация о размере кеша и количестве хранимых файлов.
- Строгая проверка доступа: модуль работает только на разрешённом домене.
- Исключение обработки внешних URL.
- Защита POST-запросов с использованием CSRF-токенов.
- Проверка наличия и соответствия файлов корневой директории сайта.
Панель администратора
Модуль оснащён удобной административной панелью с двумя вкладками:
1. Настройки кеша
- Поле для указания разрешённых размеров изображений (например, 100x100 или 100).
- Информация о текущем размере кеша и количестве файлов.
- Возможность очистки кеша одним кликом.
- Поля для ввода уровня качества сжатия и глубины цвета.
- Выбор фильтра для ресайза изображений (LANCZOS, BOX, TRIANGLE).
- Настройки сохраняются без редактирования файлов вручную.
Пользователь отправляет запрос с параметрами (ширина, высота, путь к изображению). Модуль проверяет параметры, применяет ограничения, заданные в конфигурации, и возвращает обработанное изображение.
Создание кешированных изображений
- Если запрашиваемое изображение уже существует в кеше, оно возвращается напрямую.
- Если изображения нет в кеше, модуль обрабатывает оригинал, изменяет его и сохраняет в кеше.
Администраторы могут:
- Изменять настройки сжатия и разрешённых размеров
- Очищать кеш для освобождения места.
https://site.com/resize.php?file=/images/sample.jpg&w=300&h=200
- file — путь к изображению.
- w — ширина нового изображения.
- h — высота нового изображения.
{
"filter": "Imagick::FILTER_LANCZOS",
"quality": 85,
"depth": 24
}
- filter — фильтр ресайза изображения (LANCZOS, BOX, TRIANGLE).
- quality — уровень качества изображения (например, 85).
- depth — глубина цвета (например, 24).
- Скорость загрузки сайта — оптимизированные изображения уменьшают время загрузки страниц.
- Простота настройки — все параметры доступны через административную панель.
- Гибкость — поддержка различных форматов и настроек позволяет адаптировать модуль под любые требования.
- Безопасность — строгая защита от несанкционированного доступа.
Процесс кеширования изображений
- Проверка входных параметров
- Код проверяет входные параметры outputDir, file, w (ширина) и h (высота).
- Убеждается, что запрашиваемый файл принадлежит домену kinetoon.com и существует на файловой системе сервера.
- Проверка выходной директории
- Проверяется наличие директории cache (или той, что указана в outputDir).
- Если директория отсутствует, она создаётся с правами 0755.
- Проверка допустимых размеров
- Код считывает файл allowed_sizes.txt для проверки разрешённых размеров.
- Если запрошенные размеры не входят в список допустимых, возвращается сообщение об ошибке.
- Формирование имени кеш-файла
- Имя кеш-файла формируется по следующей схеме
{$outputDir}/{$width}x{$height}_{$encodedPath}
где:- $width и $height — запрашиваемые размеры изображения,
- $encodedPath — имя файла, закодированное с помощью md5.
cache/300x200_d41d8cd98f00b204e9800998ecf8427e.webp
- Имя кеш-файла формируется по следующей схеме
- Блокировка файла (locking)
- Для предотвращения конфликтов при одновременной обработке одного и того же файла используется система блокировки.
- Сохранение в кеше
- Если файл уже существует в директории cache, он немедленно загружается и возвращается.
- Если файла нет, он обрабатывается (для создания новых размеров), кешируется и затем возвращается клиенту.
- Проверка входных параметров
- Предварительная обработка с использованием библиотеки Imagick
- Изображение обрабатывается библиотекой Imagick.
- Если указана только ширина или высота, второй параметр вычисляется пропорционально (с сохранением aspect ratio).
- Изменение размеров
- Для изменения размеров используется метод resizeImage.
- Параметры фильтрации и качества задаются в файле config.json, включая:
- Тип фильтра (например, FILTER_LANCZOS),
- Качество сжатия (quality),
- Глубину цвета (depth).
- Формат хранения: WebP
- Все изображения сохраняются в формате WebP (setImageFormat('webp')), который обеспечивает высокое качество при небольшом размере файла.
- WebP подходит как для фотографий, так и для графики.
- Удаление метаданных
- Метод stripImage удаляет лишние метаданные (например, EXIF или другую информацию), что уменьшает размер файла.
- На выходе
- Обработанный файл записывается в директорию cache.
- MIME-тип файла устанавливается, чтобы браузер корректно отображал изображение.
- Предварительная обработка с использованием библиотеки Imagick
Основные этапы кеширования и хранения изображений:
- Анализ и проверка входных параметров.
- Проверка, существует ли файл в кеше.
- Если файла нет, он обрабатывается: изменяются размеры, качество и формат (WebP).
- Закешированный файл сохраняется в выходной директории с именем, закодированным через md5.
- При следующем запросе того же файла он загружается напрямую из кеша.
Модуль предоставляется с чистой лицензией без привязки к домену.
Стоимость: 4000р. (единовременная оплата)
После покупки вы получите полный исходный код модуля, готового к установке и использованию.
Для приобретения — пишите: t.me/snh001
------------------------
Хотите уникальный модуль для DLE? Сделаем под ключ! Связь: t.me/snh001
------------------------
Последнее редактирование:

