Как задать максимальный размер загружаемых изображений

Ограничения по размеру загружаемых изображений могут задаваться:
1) в самом Alto CMS
2) в настройках PHP
3) в настройках сервера
Ограничения в Alto CMS
Максимальный размер всех загружаемых файлов задается в конфигурации движка:
$config['module']['uploader']['files']['default'] = array(
    'file_maxsize'    => '5Mb', // максимальный размер загружаемого файла
    // ...
);
По умолчанию это 5 мегабайт. Но вы можете именно для изображений задать свой размер, если добавите параметр 'file_maxsize' в секцию module.uploader.images.default, например, так:
$config['module']['uploader']['images']['default'] = array(
    '$extends$' => '___module.uploader.files.default___',
    'file_maxsize'    => '25Mb', // максимальный размер - 25 мегабайт
    // ... прочие параметры
);
Более того, если уж очень нужно, то можете задать свои ограничения для загружаемых аватар или для изображений фотосета.

И, на всякий случай, обращу ваше внимание, что кроме размера файла в конфиге еще задаются предельные размеры высоты и ширины изображения в пикселях — параметры 'max_width' и 'max_height', не забывайте и о них.

Ограничения в настройках PHP
Но вот ведь как бывает — настройки нужные в движке сделали, а на сайт все равно грузятся только фотки размером с почтовую марку. Тогда самое время проверить настройки PHP- у него могут быть свои ограничения. Текущие настройки PHP, которые применяются к вашему сайту, можно посмотреть в админке (Информация / Информация о PHP) в секции Core. Там есть три параметра, которые могут накладывать ограничения: memory_limit, post_max_size, upload_max_filesize. Не вникая в детали, сразу скажу, что memory_limit должен быть больше post_max_size, post_max_size, в свою очередь, должен быть больше, чем upload_max_filesize, а вот upload_max_filesize уже как раз и задает максимальный объем любого загружаемого файла (в т.ч. и изображений).

Настройки эти задаются, как правило, в файле php.ini. Расположение этого файла да и вообще возможность его менять зависит от операционной системы, настроек вашего сервера и вообще от вашего хостера. Поэтому, если не знаете, как изменить эти параметры, то лучше обратиться в поддержку вашего хостера.

Но в качестве примера скажу, что на одном из моих проектов заданы такие значения:
memory_limit = 128M
post_max_size = 32M
upload_max_filesize = 28M

Настройка сервера
Было у меня такое — в конфиге движка все задал, как надо, в php.ini тоже, а большие фото все равно не грузятся. Долго ковырялся, пока не понял, что загвоздка в настройках nginx. Есть у него в конфигурации параметр client_max_body_size, и этот параметр должен быть больше максимального размера загружаемого фото, которое вы установили. Чтобы задать этот параметр, нужно конфиг-файле nginx в секции http добавить строку:
client_max_body_size 32M;
Еще одна «засада» может быть, если используется Apache и PHP работает в режиме FastCGI. В этом случае сервер при загрузке изображений размером чуть больше почтовой марки может давать ошибку 500, а в логах сервера может быть ошибка примерно с таким текстом:
mod_fcgid: HTTP request length 134801 (so far) exceeds MaxRequestLen (131072)
Лечится это добавлением в /etc/apache2/mods-enabled/fcgid.conf строки
FcgidMaxRequestLen 33554432
Так, чтобы в итоге получилось примерно так:
<IfModule mod_fcgid.c>
  FcgidConnectTimeout 20
  FcgidMaxRequestLen 33554432

  # Тут могут быть еще директивы
</IfModule>
Но делать это самостоятельно стоит только в том случае, если вы имеете хоть какой-то опыт конфигурирования серверов. В противном случае, опять же, лучше обратиться в поддержку хостера или к более опытным товарищам.

Похожие статьи

  • Ошибка загрузки изображения
    Всем привет. Понимаю, что это гадание на кофейной гуще, но всё-таки вдруг кто-то уже сталкивался с подобным и решил проблему...
  • Загрузка изображений
    Наткнулся на проблему загрузки изображений в пост на локалхосте OpenServer x64 Win 10 x64. AltoCMS 1.1.17. Аватар профиля ранее загрузил без проблем. Попытался в статью вставить картинку — ошибка загрузки изображения....
  • Ошибка загрузки изображения
    При создании нового поста не загружаются изображения. Если редактировать уже существующий пост, то загружаются отлично, так же и с аватарами. Чего я только не пробовал, не могу сам справиться. Помогите пожалуйста.
  • Новое в версии 1.1: Тонкая настройка загрузки изображений для продвинутых
    Тем, кто следит за новинками в версии 1.1, уже известно, что в этой версии значительно переработан механизм работы с изображениями. И даже после выпуска альфа-верси при движении к бете эта работа продолжалась. В этой ...

3 комментария

0
Не плохая инструкция )
0
Решил свою проблему, благодаря настройке php.ini.
Спасибо!
0
Но если пытаться залить файл более указанного значения- nginx выдаст ошибку 413.
Это будет ошибка именно nginx, без обработки altocms.
соответственно я в конфиге nginx обошел проблему создав обработку этой ошибки и перенаправление на статическую страничку созданную в altocms.
Отредактирован:
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.