PHP 创建的图片对像如何直接转成base64字符串??

我用PHP imagecreatetruecolor生成了一个图片对像$im (当然还有一些详细的图片处理过程这里不多描述...),我可以用header("Content-type: image/png");imagepng($im);直接输出这张图片。那么请问,我如何直接将$im转成base64位的字符串,不需要直接显示图片(因为我要需要将这个base64字符串保存到数据库中)。

3个回答

你生成图片的代码保存成一个php文件,然后新建一个php文件,使用file_get_contents二进制安全去请求你的图片页面。之后把请求到的数据通过base64_encode加密后写入数据库。

laiyadesign
francis 朋友抱歉我弄好了,我没有用远程地址导致的。
3 年多之前 回复
laiyadesign
francis echo base64_encode(file_get_contents('test-img-code.php'));
3 年多之前 回复
laiyadesign
francis ,这个会直将php文件转换,而不会将php生成的图片转换
3 年多之前 回复
laiyadesign
francis 好像行不通,有没有实列呢
3 年多之前 回复

ob_start ();

//$im是你自己创建的图片资源
imagepng ($im);

$image_data = ob_get_contents ();

ob_end_clean ();

//得到这个结果,可以直接用于前端显示:

ob_start ();

//$im是你自己创建的图片资源
imagepng ($im);

$image_data = ob_get_contents ();

ob_end_clean ();

//得到这个结果,可以直接用于前端的img标签显示
$image_data_base64 = "data:image/png;base64,". base64_encode ($image_data);


Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问