Данные URI сохраненные изображения JPG создают черные изображения при загрузке с помощью php imagecreatefromjpeg

Я использую следующий код для загрузки

//width,new_width,height,new_height are set
$tmp_filename = $_FILES['file']['tmp_name'];
$image_p = imagecreatetruecolor($new_width, $new_height); //resample image

if(($ext=='jpg') | ($ext=='jpeg')){
//if image to be uploaded is jpg
$image = imagecreatefromjpeg($tmp_filename);
}
else{
//if image to be uploaded is png
$image = imagecreatefrompng($tmp_filename);
}

//to convert to jpg
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

$done=imagejpeg($image_p, $output_dirrectory."/".$image_name.".jpg",95); //95% quality

Теперь проблема в том, что когда я сохраняю изображение с любого другого веб-сайта, созданного с использованием Data URI, оно сохраняется на моем локальном компьютере в виде изображения JPG. Когда я пытаюсь загрузить то же изображение со следующим кодом, оно создает черное изображение.

Я не мог понять проблему. Я надеюсь, что решение лежит в imagecreatefromstring, но я не знаю, как это сработает со следующим кодом? Пожалуйста, предложите какое-нибудь решение?

0

Решение

попробуйте добавить:

$width = imageSX($image);
$height = imageSY($image);

перед вызовом imagecopyresampled

0

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

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