Слишком большой размер изображений после загрузки на сайт

Всем привет, на днях заметил такую проблему - изображения после загрузки на сайт становятся в 4-5 раз больше чем изначально, к примеру, если картинка была 200кб, то если ее после загрузки на сайт скачать, она становится уже почти 1мб. По этой причине сайт начал тормозить. Эта проблема появилась после модификации обработчика загрузки изображений submit.php - программист добавил в него функцию мультизагрузки изображений. До изменения этого файла таких проблем не было. Вот ссылка на обработчик в txt формате: submit


Ответы (1 шт):

Автор решения: Danny

Строки 458, 459:

imagesavealpha($image, true);
@imagepng( $image, $totalPath );

Сохраняется PNG-файл с альфа-каналом. Размер задан на строках 439-442:

$imageWidth=imagesx($image);
$imageHeight=imagesy($image); 
$newImageWidth = 700;
$newImageHeight = ($newImageWidth * $imageHeight) / $imageWidth;

Размер задан - ширина 700 пикселов по принципу "прокрустово ложе", т.е. маленькие картинки растягиваются до 700 пикселов, большие ужимаются.

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

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

Вместо imagepng можно использовать imegejpeg: https://www.php.net/manual/ru/function.imagejpeg.php

→ Ссылка