PHP imagejpeg принудительно открыть файл после сохранения

Я пытаюсь сделать простой код для загрузки изображения> изменить его размер> сохранить в каталоге> и показать в браузере после изменения размера. Проблема в том, что файл сохраняется, но ни одно из моих эхо не работает, и я получил серый фон с информацией, что изображение содержит ошибки и не может быть отображено.

Когда для параметра imagejpeg установлено значение imagejpeg($imageP, null, 100), изображение отображается на этом сером фоне, но остальная часть страницы по-прежнему отсутствует.

Функция изменения размера:

function resizeProportionallyByPx($width, $height, $image)
{
header('Content-Type: image/jpg');
list($widthOriginal, $heightOriginal) = getimagesize($image);
$ratioOriginal = $widthOriginal/$heightOriginal;

if($width/$height > $ratioOriginal){
    $width = $height * $ratioOriginal;
}else{
    $height = $width * $ratioOriginal;
}

$imageP = imagecreatetruecolor($width, $height);
$imageJ = imagecreatefromjpeg($image);

imagecopyresampled($imageP, $imageJ, 0, 0, 0, 0, $width, $height, $widthOriginal, $heightOriginal);
imagejpeg($imageP, '../imagesResized/demo.jpg', 100);
}

Код:

if (isset($_FILES['imageToUpload']) && isset($_POST['width']) && isset($_POST['height']) && is_numeric($_POST['width']) && is_numeric($_POST['height'])) {

    $uploadDir = "../images/";
    $uploadFile = $uploadDir . basename($_FILES['imageToUpload']['name']);
    $width = $_POST['width'];
    $height = $_POST['height'];

    if(move_uploaded_file($_FILES['imageToUpload']['tmp_name'], $uploadFile))
    {
        $size = formatSizeUnits($_FILES['imageToUpload']['size']);
        $image = $_FILES["imageToUpload"]["name"];
        $imageOriginalPath = "../images/" . $image;

        resizeProportionallyByPx($width, $height, $imageOriginalPath);
        $imageResizedPath = '../imagesResized/demo.jpg';

        echo "Uploaded file info:" . '<br />'
            . "File name: " . $_FILES['imageToUpload']['name'] . " is valid and was successfully uploaded.<br />"
            . " File type: " . $_FILES['imageToUpload']['type'] . '<br />'
            . " File size: " . $size . '<br />'
            . " Temp file: " . $_FILES["imageToUpload"]["tmp_name"] . '<br />'
            . "<img src=" . "$imageOriginalPath><br />"
            . "Image after resize: <br />"
            . "<img src=$imageResizedPath>" . "<br />";

    }
    else
    {
        echo "Possible file upload attack, upload has failed." . "Error: " . $_FILES['imageToUpload']['error'];
    }
}

chmod и chow настроены. Надеюсь, кто-нибудь может помочь мне с моим первым вопросом, ура.

0 ответов

Другие вопросы по тегам