Я создаю скрипт для изменения размера изображения в Symfony2.
Как я хотел бы иметь возможность использовать стандартную систему ответов Symfony2 ...
$headers = array('Content-Type' => 'image/png',
'Content-Disposition' => 'inline; filename="image.png"');
return new Response($img, 200, $headers); // $img comes from imagecreatetruecolor()
... Мне нужна строка для отправки в ответ. К сожалению, такие функции, как imagepng
, записывают файлы или выводят их непосредственно в браузер, а не возвращают строки.
Пока единственное решение, о котором я смог придумать, это
1] сохранить изображение во временную папку и затем прочитать его снова
imagepng($img, $path);
return new Response(file_get_contents($path), 200, $headers);
2] использовать буферизацию вывода
ob_start();
imagepng($img);
$str = ob_get_contents();
ob_end_clean();
return new Response($str, 200, $headers);
Есть ли лучший способ?