>백엔드 개발 >PHP 튜토리얼 >php如何将base64编码保存到本地文件?

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

WBOY
WBOY원래의
2016-07-06 13:53:392338검색

  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으로 문의하세요.