Как получить содержимое изображения с помощью ob_get_contents

Я хотел бы получить содержимое файла от imagePng()в моем коде он возвращается пустым.

Просто для проверки, если я удалю ob_end_clean() и это печатает контент, но я не знаю, как я могу его получить. Я предполагаю, что что-то упустил в своем коде.

public function create_thumb($content_file, $percent=5){

$result = array(
'success'   => true,
);

list($width, $height)  = @getimagesize($content_file);
$n_width  = $width * $percent;
$n_height = $height * $percent;
$image_src = @imageCreateFromPng($content_file);

if($image_src){

ob_start();

$image = @imagecreatetruecolor($n_width, $n_height);
@imagecopyresampled($image, $image_src, 0, 0, 0, 0, $n_width, $n_height, $width, $height);
@imagepng($image, null, 100);
$result['thumb'] = ob_get_contents();
ob_end_clean();
}else{
$result['success'] = false;
$result['image_src'] = $image_src;
}return $result;
}

Мое возвращение:

{
"success": true,
"thumb": {
"success": true,
"thumb": ""}
}

Решение

Не хватало base64_encode(ob_get_contents()) в моем коде.

ob_start();
@imagepng($image, null, 100);
$result['thumb']  = 'data:image/png;base64,' . base64_encode(ob_get_contents())
ob_end_clean();

1

Решение

Задача ещё не решена.

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

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

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