$image = imagecreatefromjpeg($filename);
PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 3072 bytes) in ...
$filename = 'image.jpg';
$maxside = 800;
$size = getimagesize($filename);
if (($size[0] > $maxside) or ($size[1] > $maxside)) {
exec ( 'mogrify -resize '.$maxside.'x'.$maxside.' '.$filename);
$size = getimagesize($filename);
}
$image = imagecreatefromjpeg($filename);
Source: https://habr.com/ru/post/65619/