当前位置:  开发笔记 > 编程语言 > 正文

使用PHP将Base64字符串保存为二进制文件

如何解决《使用PHP将Base64字符串保存为二进制文件》经验,为你挑选了2个好方法。

作为我自己的"看看"教程,我正在构建一个PHP脚本来从POP3邮箱收集电子邮件.在尝试使用二进制附件时,我一直试图弄清楚如何处理附件信息.

给定一个将从电子邮件中收集的字符串:

------ = _ Part_16735_17392833.1229653992102内容类型:image/JPEG; 名称= trans2.jpg内容传输编码:BASE64 X-附件-ID:f_fow87t5j0内容处置:附件; 文件名= trans2.jpg

/ 9J/4AAQSkZJRgABAgEASABIAAD/4QxrRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAUAAAAcgEyAAIAAAAUAAAAhodp

(......)

EAgEAgEAgEAgEAg8IBQRL/Lbe/tJrScHqZ2lkmE4XUP2XcSDZZ2VvZ28dtbsDIYmhkbRxAIJCAQC AQCAQf/ScyAQCAQCAQCAQCAQCAQCAQCAQCAQCAQf/9k = ------ = _ Part_16735_17392833.1229653992102--

有没有办法将数据保存到磁盘,以便它是一个可用的格式?



1> Paul Dixon..:

将数据传递给base64_decode()以获取二进制数据,使用file_put_contents()将其写入文件



2> Mike Boers..:

如果您有大量需要写入的数据需要在写入之前进行解码,我建议使用流过滤器,以便在编写数据时对数据进行解码...

$fh = fopen('where_you_are_writing', 'wb');
stream_filter_append($fh, 'convert.base64-decode');

// Do a lot of writing here. It will be automatically decoded from base64.

fclose($h);

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有