php - 生成图像然后发送它而不先将其保存为文件?

标签 php image file base64

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

我使用 imagecreate() 创建图像,然后使用 imagecopyresized() 创建图像,然后希望将结果作为包装在 json 中的 base64 发送(稍后我需要一组字符串,而不仅仅是一个)。

除了 fread() 中的字节之外,我找不到 base64_encode() 可以接收的任何内容。我发现必须保存到文件系统很浪费,并且认为必须有更好的方法!

谢谢

最佳答案

您根本不必保存文件。只需使用 output buffering :

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

关于php - 生成图像然后发送它而不先将其保存为文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7394279/

相关文章:

javascript - 如何通过ajax将php插入jquery追加?

php - 如何阻止 MySQL 十进制字段被四舍五入?

android - 在android中从上到下 move 图像

python - python中的滑动窗口改变形状

java - 找不到应用程序创建的 .jpg 文件的位置

php - 通过 PHP 返回图像并使用 AJAX 设置为 src

JavaScript:如何在 HTML5 localStorage 中保存 html 文本

php - 如何删除可以通过laravel中的删除状态更改再次恢复的数据

javascript - 图片上传前的多个缩略图

java - 比较两个集合用于比较两个文本文件的添加、删除、修改