В Битрексе есть готовый инструмент, позволяющий выводить картинку уже в уменьшенном размере, это CFile::ResizeImageGet, пример использования ниже.
Создание первьюшек картинок в битриксе
02.02.2018
Ссылка на официальную документацию ResizeImageGet
Мне больше подошел параметр BX_RESIZE_IMAGE_PROPORTIONAL_ALT (масштабирует с сохранением пропорций за ширину при этом принимается максимальное значение из высоты/ширины, размер ограничивается $arSize, улучшенная обработка вертикальных картинок.)
foreach($arResult["PROPERTIES"]["EL_MOREPHOTO"]["VALUE"] as $all_url) { $z = CFile::ResizeImageGet($all_url, array('width'=>150, 'height'=>150), BX_RESIZE_IMAGE_PROPORTIONAL, true); echo '<pre>'; print_r($z); echo '</pre>'; ?> <p> <img src="<?=$z['src']?>" alt="" /> </p> <? }