欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-04-28 12:05:39
...
  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编码保存到本地文件?

相关标签: php base64