【问题标题】:Generating an image then sending it without first saving it as a file?生成图像然后发送它而不先将其保存为文件?
【发布时间】:2011-09-12 21:28:08
【问题描述】:

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

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

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

谢谢

【问题讨论】:

    标签: php image file base64


    【解决方案1】:

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

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

    【讨论】:

    • 甜蜜,正是我所追求的 :)
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2019-01-04
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-05
      • 2021-05-23
      • 1970-01-01
      相关资源
      最近更新 更多