imagecopyresampled, кажется, не выполняется

Эта проблема меня сдерживает уже несколько дней

У меня есть этот код, который запрашивается AJAX с действительной ссылкой на Pixabay Image из их API. Затем он изменяется до 640×420, чтобы поместиться в контейнеры изображений вокруг сайта. Сайт изменяет его размер, сохраняет его, а затем возвращает UUID в AJAX. Эта проблема кажется быть инициированным с изменением размера изображения, не выполняющимся. Новое изображение создается и сохраняется в переменной для сохранения, но не перезаписывается копией с измененным размером.

<?php
//user authentication would go here
//loading shared API would go here
$q = $_REQUEST['q'];

//other use cases for this API would go here
if($q=="getImage") {
$pixabay = $_REQUEST['link'];
$url = gen_uuid();
$suffix = $_SERVER['DOCUMENT_ROOT']."/temp/";
$filename = $suffix.$url.".jpg";

$image = file_get_contents($pixabay);
file_put_contents($filename, $image);

$source_image_tmp = imagecreatefromjpeg($filename);
$source_image = imagecreatetruecolor(imagesx($source_image_tmp),imagesy($source_image_tmp));
imagecopy($source_image,$source_image_tmp,0,0,0,0,imagesx($source_image_tmp),imagesy($source_image_tmp));

$origx = imagesx($source_image);
$origy = imagesy($source_image);

$dest_imagex = 640;
$dest_imagey = 420;

$dest_image = imagecreatetruecolor($dest_imagex, $dest_imagey);

imagecopyresampled($dest_image, $source_image, 0, 0, 0, 0, $dest_imagex, $dest_imagey, $source_imagex, $source_imagey);

imagejpeg($dest_image, $filename);

die($url);
}
?>

0

Решение

Вот в чем заключалась моя проблема: я вызывал переменные, которых не было. Я понятия не имею, как это уклонялось от меня целыми днями, но это было так, и теперь это работает отлично.

imagecopyresampled($dest_image, $source_image, 0, 0, 0, 0, $dest_imagex, $dest_imagey, $source_imagex, $source_imagey);

стала

imagecopyresampled($dest_image, $source_image, 0, 0, 0, 0, $dest_imagex, $dest_imagey, $origx, $origy);

Где $ source_imagex и $ sourceimagey становятся $ origx и $ origy

0

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

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

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