生成图像然后发送,而不首先将其保存为文件


Generating an image then sending it without first saving it as a file?

如果我直接在php脚本中生成图像并将其发送回JS,是否必须有将图像保存到文件系统的这个间隔步骤?

我使用imagecrecreate()创建了一个图像,然后imagecopyresize(),然后想把结果作为base64封装在json中(以后我想要一个字符串数组,而不仅仅是一个)。

我找不到base64_encode()除了从fread()中获取的字节之外的任何内容。我发现不得不保存到文件系统是一种浪费,我想一定有更好的方法!

谢谢

根本不需要保存文件。只需使用输出缓冲:

ob_start();
imagepng($im);
$pngData = ob_get_contents();
ob_end_clean();
echo base64_encode($pngData);

只想添加;有一个函数ob_get_clean()同时执行ob_get_contents()ob_end_clean()