Laravel: сжатие изображений не работает на сервере

Я хочу сжать изображения, прежде чем загружать их на свой s3. Это код, который я использую для сжатия изображений.

//compress image before uploading
public static function compressedImage($img, $file_name, $ext){
$original_img;
$img_size = getimagesize($img);

$original_width = $img_size[0];
$original_height = $img_size[1];
$mime_type = $img_size['mime'];

$desired_width = 450;
$desired_height = ( $original_height * $desired_width ) / $original_width;

// making a copy of the image
if($mime_type=="image/jpeg"){
header('Content-Type: image/jpeg');
$original_img = imagecreatefromjpeg($img);
}elseif($mime_type=="image/png"){
header('Content-Type: image/png');
$original_img = imagecreatefrompng($img);
}elseif($mime_type=="image/gif"){
header('Content-Type: image/gif');
$original_img = imagecreatefromgif($img);
}

try {
$temp_img = imagecreatetruecolor($desired_width, $desired_height);
$copy_img = imagecopyresampled($temp_img, $img, 0, 0, 0, 0, $desired_width, $desired_height, $original_width, $original_height);
$compressed = imagejpeg($temp_img, public_path() . "/uploads/" . $file_name . "." . $ext,100);
return public_path() . "/uploads/" . $file_name . "." . $ext;
} catch (Exception $e) {
return $e;
}
}

Это сжатие отлично работает на моем локальном сервере, но по какой-то причине не работает на онлайн-сервере.

Пройдя через это, я понял, что проблема, кажется, с
imagecreatefrom … ()
раздел, но я не могу понять, что именно с ним не так.
Я буду очень рад, если кто-то может помочь.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]