imageresizer — Как переместить сгенерированный файл изображения в пользовательский каталог на PHP?

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

В чем ошибка?

<?php
$file = "assets/images/posts/original/2018/Dec/22/b1132bbdf75.png";
function processjpg($filename){
list($width,$height) = getimagesize($filename);
$newwidth = 870;
$newheight = 450;
$imagetruecolor = imagecreatetruecolor($newwidth,$newheight);
$newimage = imagecreatefromjpeg($filename);
imagecopyresampled($imagetruecolor,$newimage,0,0,0,0,$newwidth,$newheight,$width,$height);
file_put_contents("/app", imagejpeg($imagetruecolor,'newjpg.jpg',100));
echo $filename." Processed";
};

processjpg($file);
exit();
?>

Если я не использую file_put_contents и просто использовать imagejpeg($imagetruecolor,'newjpg.jpg',100) затем по умолчанию он сохраняется в каталоге, в котором выполняется скрипт, и я хочу, чтобы он был перенесен в пользовательский каталог.

2

Решение

imagejpeg () пишет файл для вас, вам не нужно file_put_contents ()

<?php
$file = "assets/images/posts/original/2018/Dec/22/b1132bbdf75.png";
function processjpg($filename)
{
list($width, $height) = getimagesize($filename);
$newwidth = 870;
$newheight = 450;
$imagetruecolor = imagecreatetruecolor($newwidth, $newheight);
$newimage = imagecreatefromjpeg($filename);
imagecopyresampled($imagetruecolor, $newimage, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagejpeg($imagetruecolor, "/app/newjpg.jpg", 100);
echo $filename . " Processed";
}

processjpg($file);
exit();
2

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

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

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