2013-03-05 82 views
0

我一直在尝试这段代码将图像转换为base64,然后再次将它保存到磁盘映像文件中,但最终我得到了一个包含无效图像文本的图像文件。PHP base 64到图像转换

<?php 

$b64image = base64_encode(file_get_contents('1.png')); 

file_put_contents('abc.png',$b64image); 

?> 
+4

你*不想* base64编码图像。如果您打算通过电子邮件发送或打印到style/html src块中,您只需要对图像进行编码。 – Xeoncross 2013-03-05 17:11:12

+0

其实我想要的是先将图像转换为64位,然后再将其保存到磁盘。 – 2013-03-05 17:12:08

+4

为什么你要基地64编码一个PNG文件?你想做什么? – 2013-03-05 17:12:15

回答

2

您的图片不能使用Base64编码可以使用Base64编码,而不是像很多观众将实际显示用base64编码的图像。在将图像存储到另一个文件之前,您需要base64_decode,因此图像查看器可以正确读取图像。

+1

更确切地说,它*可以被编码,但结果本身不是有效的图像数据。没有我知道的图像查看器可以识别和解码base64数据。 – cdhowie 2013-03-05 17:13:04

+0

@cdhowie我会更新我的帖子,以获得更高的精度。谢谢。 – 2013-03-05 17:14:15

+0

好的我的问题是,当我尝试将任何bnary格式转换为图像文件时,它会给出无效图像。 – 2013-03-05 17:15:25