1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Обработка изображений "на лету"

Тема в разделе "Основные вопросы по XenForo", создана пользователем martini, 20.12.2014.

Загрузка
  1. martini

    martini Местный

    Регистрация:
    10.10.10
    Сообщения:
    249
    Симпатии:
    28
    В настройках можно указать максимальные ограничения для фотографий (вес, размеры). Например если указано, что фотография не может быть больше 800х600 пикселей, то юзер просто не сможет такой файл загрузить. Тоесть нужно открывать картинки в фоторедакторе, изменять их размеры и только потом загружать на форум. Это, как по мне, если не прошлый век, то по крайней мере прошлое десятилетий точно :)

    Должно работать так. Юзер сделал фотку, и без лишних телодвижений должен иметь возможность ее загрузить на форум, точно так же как это работает в соцсетях. Если в настройках установлено максимум 800х600 то форум просто преобразует загружаемую картинку в соответствии с данными ограничениями, но не запрещает мне загружать фото с телефона.

    Вы скажете - так поставь в настройках без ограничений. А я отвечу - а нафига мне на серваке фотки по 12 мегапикселей, если они даже в монитор не влазят в таком размере?

    Существует плагин, позволяющий не заморачиваться размерами картинок ни админу ни пользователям?
     
  2. Exile

    Exile Местный

    Регистрация:
    27.06.11
    Сообщения:
    997
    Симпатии:
    545
    Версия XF:
    1.4.4
    Есть вот такой аддон - https://xenforo.com/community/resources/image-resizer.2923/ - работает вроде как постфактум, то есть ресайзить будет уже большие изображения, но думаю особых проблем с этим не будет - юзеры не каждый день все же конские картинки загружают.
     
  3. martini

    martini Местный

    Регистрация:
    10.10.10
    Сообщения:
    249
    Симпатии:
    28
    Ну как, конские. Уже практически ниодин телефон не фоткает меньше 5 мегапикселей, у большинства уже давно 8, и все больше аппаратов имеют матрицу 12 Мп. При этом даже 5Мп по меркам форума - это уже конская картинка, она даже в FullHD монитор не влазит. Я думаю, максимальный размер имеет смысл ставить где-то 1600 по ширине и не больше 900 по высоте.
     
  4. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Да проще ограничить размер файла, а не разрешение. Достаточно 2 Мб для большинства фотографий.
     
    Kolya groza morey нравится это.
  5. fly_indiz

    fly_indiz Местный

    Регистрация:
    20.08.11
    Сообщения:
    460
    Симпатии:
    357
    Версия XF:
    1.4.3
    кстати - на винде для php 5.6+ x64 удавалось комунибудь прикрутить ImageMagick?
     
  6. martini

    martini Местный

    Регистрация:
    10.10.10
    Сообщения:
    249
    Симпатии:
    28
    Обычная картинка из телефона даже если влезет в лимит 2Мб, будет иметь размеры превышающие размеры большинства мониторов. У меня старый телефон уже (самсунг гелекси с3), камера в нем 8Мп. Тоесть картинки по умолчанию 3264х2448 пикселей. Это фактически в 3 раза больше, чем нужно для нормального отображения на форуме.
    --- добавлено : Dec 20, 2014 2:12 PM ---
    Пересмотрел фотки в телефоне. Фотография, сделанная в солнечный день, может весить и все 4Мб. В помещении при среднем освещении действительно до 2Мб.
     
    Последнее редактирование модератором: 28.12.2014
  7. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Насколько я помню - уменьшение размера до размера заданных в админке - стандартный функционал xenforo
     
  8. martini

    martini Местный

    Регистрация:
    10.10.10
    Сообщения:
    249
    Симпатии:
    28
    А как данной функцией воспользоваться?
     
  9. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Просто указать максимальные размеры изображения в админке
    admin.php?options/list/attachments
    Максимальный размер вложений (в пикселях)
     
  10. martini

    martini Местный

    Регистрация:
    10.10.10
    Сообщения:
    249
    Симпатии:
    28
    я с этого начинал тему :) если указать максимальный размер то это не значит, что форум преобразует изображение до этих размеров, а то, что невозможно загрузить фото, которые превышают установленные лимиты
     
  11. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    хм... надо по коду посмотреть может ибо я совсем недавно ставил форум и изображения именно ресайзились при заливке, а не ругалось на размер. Единственное в чем может быть проблема так это слишком большой размер изображений и тогда просто php не будет хватать памяти. Чуть позже напишу точнее - когда выдается ошибка а когда ресайз происходит.
    --- добавлено : 21 дек 2014 в 17:45 ---
    Глянул код и проверил работу - да как я и говорил по идее должен ресайзить и ресайзит если все настроено нормльано, вложение не сверх больших размеров, да и само вложение нормальное
    Т.е. все зависит от конкретного вложения и от настроек сервера.

    Какую именно ошибку возвращает при загрузке вложения?
    или
    или
     
    Последнее редактирование модератором: 29.12.2014
    Mirovinger нравится это.
  12. martini

    martini Местный

    Регистрация:
    10.10.10
    Сообщения:
    249
    Симпатии:
    28
    Можешь сделать скриншот своих настроек?
    --- добавлено : 21 дек 2014 в 18:25 ---
    Итак, я разобрался где я тупанул и как это работает

    Там есть две основные настройки

    1. максимальный вес файла
    2. максимальные размеры изображения в пикселах

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

    Однако, когда я установил максимальные размеры в пикселах -1200х800 то загружаемые картинки сколько бы они не весили, хоть 10Мб, ресайзятся до указанных ограничений и нормально вставляются в сообщения. При этом если оригинал фотки весил 4Мб, то после обработки до 1200х800 получается в среднем до 200Кб, тоесть В 20 РАЗ МЕНЬШЕ! Это именно то, что мне нужно. Респект КсенФоро :)
     
    Последнее редактирование модератором: 29.12.2014
    infis, Mirovinger и Yoskaldyr нравится это.

Поделиться этой страницей