Обрезать изображение PHP не работает

подскажите почему не работает код?

<?php
    require "db.php";   
    $login = $_SESSION['logged_user']->login;
    $settings = R::findOne('users', 'WHERE `login`=?', [$login]);
if ($_FILES && $_FILES["file"]["error"] == UPLOAD_ERR_OK){
    if($_FILES['file']['size'] < 5242880){
        if($_FILES['file']['type'] == ('image/jpeg' || 'image/png') ){
            
            $Image = imagecreatefrompng($_FILES['file']['tmp_name']);

            $widthImg = imagesx($Image);
            $heightImg = imagesy($Image);

            if ($widthImg < $heightImg){
                $ReadyImage = imagecrop($Image, ['x' => 0, 'y' => ($heightImg - $widthImg)/2, 'width' => $widthImg, 'height' => $widthImg]);
            }else{
                $ReadyImage = imagecrop($Image, ['x' => ($widthImg - $heightImg)/2, 'y' => 0, 'width' => $heightImg, 'height' => $heightImg]);
            }
            $filepath = "ava/" . $settings->id;
            move_uploaded_file($ReadyImage, $filepath);  /* Загружаем файл по указанному пути */

        }else{
            /* Учитывая accept в html, скорей всего попытка на инъекцию, начисление штрафных баллов в дальнейшем возможнен бан(ещё не реализована)*/        }
    }else{
        echo 202; /* big size */
    }
}
?>

Перестало работать после добавления вот этого кода:

$Image = imagecreatefrompng($_FILES['file']['tmp_name']);

            $widthImg = imagesx($Image);
            $heightImg = imagesy($Image);

            if ($widthImg < $heightImg){
                $ReadyImage = imagecrop($Image, ['x' => 0, 'y' => ($heightImg - $widthImg)/2, 'width' => $widthImg, 'height' => $widthImg]);
            }else{
                $ReadyImage = imagecrop($Image, ['x' => ($widthImg - $heightImg)/2, 'y' => 0, 'width' => $heightImg, 'height' => $heightImg]);
            }


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

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

Вот итоговый(рабочий) код:

<?php
    require "db.php";   
    $login = $_SESSION['logged_user']->login;
    $settings = R::findOne('users', 'WHERE `login`=?', [$login]);
if ($_FILES && $_FILES["file"]["error"] == UPLOAD_ERR_OK){
    if($_FILES['file']['size'] < 5242880){
        if (in_array($_FILES['file']['type'], array('image/jpeg', 'image/png'))){
            $filepath = "ava/" . $settings->id;
            if($_FILES['file']['type'] == 'image/jpeg'){
                $Image = imagecreatefromjpeg($_FILES['file']['tmp_name']);
            }else{
                $Image = imagecreatefrompng($_FILES['file']['tmp_name']);
            }
            $widthImg = imagesx($Image);
            $heightImg = imagesy($Image);
            if ($widthImg != $heightImg){
                $ReadyImage = $_FILES['file']['tmp_name'];
                if ($widthImg < $heightImg){
                    $ReadyImage = imagecrop($Image, ['x' => 0, 'y' => ($heightImg - $widthImg)/2, 'width' => $widthImg, 'height' => $widthImg]);
                }
                if ($widthImg > $heightImg){
                    $ReadyImage = imagecrop($Image, ['x' => ($widthImg - $heightImg)/2, 'y' => 0, 'width' => $heightImg, 'height' => $heightImg]);
                }            
                if($_FILES['file']['type'] == 'image/jpeg'){
                    imagejpeg($ReadyImage, $_FILES['file']['tmp_name']);
                }else{
                    imagepng($ReadyImage, $_FILES['file']['tmp_name']);
                }
            }
            
            move_uploaded_file($_FILES['file']['tmp_name'], $filepath); 
            echo 101;
        }else{
        /* Учитывая accept в html, скорей всего попытка на инъекцию, начисление штрафных баллов в дальнейшем возможнен бан(ещё не реализована)*/        
        }
    }else{
        echo 202; /* big size */
    }
}
?>

→ Ссылка