ResizeOnUploadPhpthumbon_modx
Загрузка изображений и их обрезка в менеджере файлов.
Нужно было решение (оптимизация загрузки больших изображений) пошел гулить нашел решение у bezumkin-а там плагин реализован через phpThumbof но этот сниппет не понимает кириллицу или другие знаки в именах файла (в коде сниппета не стал копаться) и решил использовать phpThumbon и переписал код.
С помощью этого плагина у вас не будет конфликтов с контент менеджерами, которые заливают фото на сайт весом по 5мб))
Плагин зависит от сниппета phpThumbon
Скачать: git
Нужно было решение (оптимизация загрузки больших изображений) пошел гулить нашел решение у bezumkin-а там плагин реализован через phpThumbof но этот сниппет не понимает кириллицу или другие знаки в именах файла (в коде сниппета не стал копаться) и решил использовать phpThumbon и переписал код.
С помощью этого плагина у вас не будет конфликтов с контент менеджерами, которые заливают фото на сайт весом по 5мб))
Плагин зависит от сниппета phpThumbon
<?php
//Обработчик
$snippet = "phpthumbon"; //phpthumbof ps: phpthumbof не обрабатывает имена фалов содержащие []
//Настрйка обработки изображения
$width = isset($scriptProperties['width']) ? $scriptProperties['width'] : 1070;
$height = isset($scriptProperties['height']) ? $scriptProperties['height'] : 1070;
$crop = isset($scriptProperties['crop']) ? $scriptProperties['crop'] : 0;
$format = isset($scriptProperties['format']) ? $scriptProperties['format'] : "jpg";
$quality = isset($scriptProperties['quality']) ? $scriptProperties['quality'] : "75";
$eventName = $modx->event->name;
switch ($eventName) {
case 'OnFileManagerUpload':
// настройки media source
$directory = $source->properties['basePath'].$directory;
//Поддерживаемые изображения
$extensions = explode(',', $modx->getOption('upload_images'));
//Тип файла
$extData = explode("/", $files["file"]["type"]);
$extType = $extData[1];
//Проверка на совместимость
if (in_array($extType, $extensions)) {
$file = $files["file"];
$imgPath = $directory . $file['name'];
$tmpImg = $modx->runSnippet($snippet, array('input' => $imgPath, 'options' => "&w=$width&h=$height&zc=$crop&f=$format&q=$quality"));
$tmpImg = str_ireplace("//", "/", MODX_BASE_PATH . $tmpImg);
rename($tmpImg, MODX_BASE_PATH . $imgPath);
}
break;
}
Настройка плагина во вкладке «Параметы»Скачать: git
Поблагодарить автора
Отправить деньги
Комментарии: 9
phpthumbon работает лучше — факт
Если мы говорим про компоненты, то я на своих сайтах использую pthumb, потому что там гибко можно управлять кэшированными изображениями.
Что лучше и быстрее, я не знаю. Факты нужно подкреплять чем-то.
Что лучше и быстрее, я не знаю. Факты нужно подкреплять чем-то.
Используй кто тебе мешает? Зачем навязывать это другим?
Мне лично очень нравится phpThumbOn в плане оптимизации, а не обработчик из коробки, предложил свою идею, а тебе и по истории твоих комменотов, ты каждую фичу считаешь (не вижу смысла в этом компоненте, т.к.… бла бла бла) если не с кем поговорить заведи попугая.
Мне лично очень нравится phpThumbOn в плане оптимизации, а не обработчик из коробки, предложил свою идею, а тебе и по истории твоих комменотов, ты каждую фичу считаешь (не вижу смысла в этом компоненте, т.к.… бла бла бла) если не с кем поговорить заведи попугая.
А ты своим готовым решением разве не навязываешь другим? Может тебе лучше завести попугая и ему рассказывать что ты изобрел очередной велосипед? Ты че такой дерзкий-то? Выложил готовое решение, значит будь готов к диалогу.
Я был бы не против увидеть эту катастрофическую разницу в скорости обработки изображений при их загрузке на сервер через файловый менеджер модкса. Еще раз, мой вопрос — зачем мне ставить сторонний компонент для уменьшения загружаемого изображения?
Phpthumbon и прочие компоненты, больше нужны для формирования миниатюр. И вот тут возможно phpthumbon действительно быстрее. Но я перешел на pthumb, в скорости он не проигрывает, во всяком случае, я не заметил этого. А вот в возможностях управления кэшированными версиями картинок — он выигрывает уж точно.
Я был бы не против увидеть эту катастрофическую разницу в скорости обработки изображений при их загрузке на сервер через файловый менеджер модкса. Еще раз, мой вопрос — зачем мне ставить сторонний компонент для уменьшения загружаемого изображения?
Phpthumbon и прочие компоненты, больше нужны для формирования миниатюр. И вот тут возможно phpthumbon действительно быстрее. Но я перешел на pthumb, в скорости он не проигрывает, во всяком случае, я не заметил этого. А вот в возможностях управления кэшированными версиями картинок — он выигрывает уж точно.
Не понимаю зачем кешировать, если можно пользоваться уже залитым оптимизированным изображением или ты имеешь ввиду кешированные для админки?
Мы от темы отошли. Твой плагин оптимизирует изображения при загрузке. Зачем тут использовать сторонний компонент, я без понятия…
Отвечаю на твой вопрос, почему я выбрал pThumb вместо phpThumbOn:
1. Оригинал изображения сохраняется в первозданном виде.
2. pThumb может генерить сколько угодной версий размеров миниатюр и они удаляются, если я удаляю сам оригинал. Не копиться мусор в виде неиспользуемых картинок.
3. Несколько уровней очистки изображений. Либо вообще не очищать их, либо очищать в зависимости от системной настройки Max Cache, либо очищать все.
4. Есть настройки для использования сервиса амазона S3 (правда пока не использовал еще).
Отвечаю на твой вопрос, почему я выбрал pThumb вместо phpThumbOn:
1. Оригинал изображения сохраняется в первозданном виде.
2. pThumb может генерить сколько угодной версий размеров миниатюр и они удаляются, если я удаляю сам оригинал. Не копиться мусор в виде неиспользуемых картинок.
3. Несколько уровней очистки изображений. Либо вообще не очищать их, либо очищать в зависимости от системной настройки Max Cache, либо очищать все.
4. Есть настройки для использования сервиса амазона S3 (правда пока не использовал еще).
Ну вот!
— Мне оригинал на сервере не нужен (лишний вес)
— при удалении оригинала phpthumbon не будет генерить, а отдаст заглушку
Зы: я понимаю, если у тебя портал картинок и или чертежей где нужно держать оригинал.
Но для этого тоже можно сделать несколько размеров (версий 1.2.3.4) при загрузке изображения
— Мне оригинал на сервере не нужен (лишний вес)
— при удалении оригинала phpthumbon не будет генерить, а отдаст заглушку
Зы: я понимаю, если у тебя портал картинок и или чертежей где нужно держать оригинал.
Но для этого тоже можно сделать несколько размеров (версий 1.2.3.4) при загрузке изображения
Заглушку можно поставить и без pThumb или phpThumbOn. Это вопрос шаблонизации. Я не убеждаю тебя что phpThumbOn хуже или лучше. Мой вопрос был, зачем он нужен для оптимизации изображений при загрузке?
Если оригинал имеет большие размеры, его можно оптимизировать через phpthumb. Для этого не нужно ставить ни pThumb, ни phpThumbOn. Понимаешь?
Если оригинал имеет большие размеры, его можно оптимизировать через phpthumb. Для этого не нужно ставить ни pThumb, ни phpThumbOn. Понимаешь?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.