首页 >后端开发 >php教程 >php如何将base64编码保存到本地文件?

php如何将base64编码保存到本地文件?

WBOY
WBOY原创
2016-07-06 13:53:392356浏览

  1. 本地用C++对一个图片进行base64编码,经过post提交到web服务器上,php经过base64_decode解码后,保存后,图片并不正确。用16进制编辑器查看并对比源文件(本地源文件图片),发现保存后丢失了0d--回车符。

  2. 过程经历的问题,经过post传输_POST['data']取出来的数据对比之前的base64编码的数据+号变成了空格,用php的str_replace(...)替换回原来的,可以确定这个没有问题。

  3. 经过$img = base64_decode(...)解码后,返回的strlen($img)的长度和源文件的长度是一样的。无论是用for(...) fwrite(...);还是file_put_contents(...)都是丢失字节0d

待解决:见标题

已解决:打开文件流时有问题,过程都没错

回复内容:

  1. 本地用C++对一个图片进行base64编码,经过post提交到web服务器上,php经过base64_decode解码后,保存后,图片并不正确。用16进制编辑器查看并对比源文件(本地源文件图片),发现保存后丢失了0d--回车符。

  2. 过程经历的问题,经过post传输_POST['data']取出来的数据对比之前的base64编码的数据+号变成了空格,用php的str_replace(...)替换回原来的,可以确定这个没有问题。

  3. 经过$img = base64_decode(...)解码后,返回的strlen($img)的长度和源文件的长度是一样的。无论是用for(...) fwrite(...);还是file_put_contents(...)都是丢失字节0d

待解决:见标题

已解决:打开文件流时有问题,过程都没错

你在web端直接输出这个图片看看是否能正常显示呢,类似php如何将base64编码保存到本地文件?

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn