Изображения
Перетащите файлы в сетку вкладки Prism или нажмите «Загрузить».
Что происходит при загрузке
- Файл режется на части по
prism.chunk_size_mbи грузится по кускам — лимиты хостинга не мешают. - Тип проверяется по содержимому, а не по расширению. Переименованный
.exeне пройдёт. - Имя чистится, и внутренние точки в нём заменяются на дефис:
shell.php.jpgложится какshell-php.jpg. Apache умеет выбирать обработчик по любому расширению в имени, не только по последнему. - SVG санитизируется: скрипты, обработчики событий и внешние ссылки вырезаются.
- Картинка пересохраняется сервером — всегда, не только когда надо повернуть или уменьшить. На диск попадают наши байты, а не присланные, поэтому ни PHP-код, спрятанный в EXIF, ни GPS-координаты съёмки до хранилища не доезжают. Исключения — SVG и анимированный GIF.
- EXIF-ориентация применяется — снимок с телефона не ложится боком.
- Размер ограничивается по
prism.max_dimension(по умолчанию 4096 по большей стороне), а изображения большеprism.max_pixelsне принимаются вовсе. - Считаются доминантный цвет и blurhash — их можно использовать фоном-заглушкой до загрузки.
- Дубликаты не создаются: при совпадении SHA-1 содержимого возвращается существующий элемент
(
prism.dedupe).
Они читаются до пересохранения и остаются в записи элемента — [[+exif.Make]],
[[+exif.DateTimeOriginal]]. Из самого файла они уходят, и GPS вместе с ними, если не включена
prism.keep_gps.
Кадр и точка фокуса
Загруженный снимок можно кадрировать, не трогая файл: в диалоге элемента выделите рамкой нужную часть. Прямоугольник хранится долями оригинала и применяется при создании превью, поэтому его можно переделать или снять в любой момент — см. Кадр и Точку фокуса.
Файл на диске меняется только при загрузке: пересохранение растра, поворот по EXIF, уменьшение по
prism.max_dimension и санитизация SVG. Всё, что настраивается позже, — кадр, водяные знаки,
фильтры — живёт в превью и оригинал не трогает.
Разрешённые типы
prism.image_extensions — по умолчанию jpg, jpeg, png, gif, webp, avif, svg. Максимальный
размер — prism.max_upload_mb.
Имена файлов
Небезопасные символы удаляются, путь отсекается, длина ограничивается — это не настраивается, это защита. Настраивается читаемость результата:
| Настройка | По умолчанию | Что делает |
|---|---|---|
prism.filename_translit | да | «Горы Кавказа.jpg» → «gory-kavkaza.jpg». Выключено — такие символы удаляются. |
prism.filename_lowercase | да | Выключите, чтобы сохранить регистр исходного имени. |
prism.filename_hash | нет | Имя заменяется на MD5 исходного: «Прайс 2026.pdf» → «6f1e…c3.pdf». Имеет приоритет над двумя предыдущими. |
Расширение приводится к нижнему регистру всегда. Транслитерация приводит к нижнему регистру и имя — таблица замен построена на строчных буквах.
Куда ложатся файлы
prism.source_id — Media Source, prism.path_template — папка внутри него. В шаблоне пути
доступны {resource_id}, {yyyy}, {mm}.
Разные источники для разных шаблонов и типов задаются картой prism.source_map:
{"*": 1, "3": 2, "5": {"*": 2, "video": 3, "file": 4}}
Ключ — id шаблона или *, значение — id источника или объект «тип → источник».