PHP直接获取GD生成的图片二进制流内容

  我用GD生成的验证码图片,再将图片base64编码并输出。现在的问题是图片必须先保存到临时文件,才能获取到文件的内容。如何直接取得图片的二进制流内容,而不用先保存到临时文件:
<?php
$im =  imagecreatetruecolor(100, 100);
//..省掉N行代码
imagepng($im, "/tmp/tmp.png"); //去掉保存文件这一步
$fileContent = file_get_contents('/tmp/tmp.png');
echo base64_encode($fileContent);
已邀请:
匿名用户

匿名用户

赞同来自:

可以先保存到缓存区,再从缓存区读取(爱E族):
<?php
$im =  imagecreatetruecolor(100, 100);
//...省掉N行.....
ob_start();
imagepng($im);
$fileContent = ob_get_contents();
ob_end_clean();

echo base64_encode($fileContent);

要回复问题请先登录注册