Рейтинг: 7  
На голосовании
Предложил Itachi261092 05.03.2018 13:07:38

Автоудаление устаревших файлов папки upload

Для кого то это может и не проблема, но то, что за папкой upload ядро битрикса никак не следит - это факт. При использовании разных решений, шаблонов, и функции ResizeImageGet, например, папка upload заполняется множеством копий картинок, которые потом, например, при выгрузке заменяются. Для них создаются новые копии. А старые никуда не исчезают. Битрикс удаляет только оригинальный файл, а все ресайзы оставляет. Для крупных каталогов это огромная проблема. Объём папки Upload может вырастать до гигантских размеров, и нет ни одного инструмента внутри админки чтобы это как-то контролировать.

Предлагаю, например, в разделе настройки -> настройки продукта -> автокеширование добавить вкладку "Папка upload" и добавить настройки для контроля картинок этой папки. Дать возможность удалять все ресайзы и копии оригинальных файлов, устаревшие файлы, на которые нет ссылок в элементах и разделах инфоблоков, и настраивать автоматическое удаление по таймауту, как для кеша. Если картинку давно никто не запрашивает - она удаляется.
Рейтинг: 2.9535  
На голосовании
Предложил Мишаков Пётр 29.09.2016 12:53:32

Отложенный ресайз CDN

Проблема:
При ресайз в процессе создания страницы время ответа сервера увеличивается многократно из-за следующего процесса:
1. Скачивания картинки из CDN;
2. Ресайза на сервере;
3. Загрузки уменьшенной картинки в CDN;

Решение:
В модуле cloids есть опция delayed_resize, которая не поддерживается в коробочной версии. Добавить поддержку.
Рейтинг: 1.7986  
Новая
Предложил AndreyChursin 29.02.2016 11:57:46

ResizeImageGet возвращает другой массив!

При использовании CFile::ResizeImageGet возвращается другой массив!
Это создает проблему в использовании такой простой конструкции:

<?if($arItem["PREVIEW_PICTURE"]["WIDTH"]>500)  
   $arItem["PREVIEW_PICTURE"] = CFile::ResizeImageGet( 
      $arItem['PREVIEW_PICTURE'],  
      array('width'=>300, 'height'=>200),  
      BX_RESIZE_IMAGE_PROPORTIONAL,  
      true 
   );
<img class="img" src="<?=$arItem["PREVIEW_PICTURE"]["SRC"]?>"   
               alt="<?=$arItem["PREVIEW_PICTURE"]["ALT"]?>"  
               title="<?=$arItem["PREVIEW_PICTURE"]["TITLE"]?>">  

Предлагаю возвращать ОДИНАКОВЫЕ ключи массивов(в большом регистре!!!)
Рейтинг: 9.2149  
Новая
Предложил Малюгин Алексей 03.10.2015 15:39:14

CFile::ResizeImageGet сохранять png, gif в jpg при установке степени сжатия в параметрах.

В данный момент, при масштабировании через  CFile::ResizeImageGet картинка миниатюры сохраняется в том формате в котором исходная картинка. Т.е. png в png, jpg в jpg...

У нас в каталоге 10000 картинок в png формате.
Миниатюры так же в png формате, что в 4 раза увеличивает вес сайта.

Есть предложение, если установлена степень сжатия в параметрах  CFile::ResizeImageGet, то всегда преобразовывать картинку любого формата в jpg. (при этом надо дать возможность выбора цвета беккграунда).

Пришлось в ядре ковырять ResizeImageFile, для собственной реализации этого, что неверно.