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

php Base64编码文件二进制流主要使用

程序员文章站 2022-06-09 19:30:02
...
Base64编码文件二进制流是使用base64_encode函数对文件二进制信息进行编码。

官方说明:

base64_encode — 使用 MIME base64 对数据进行编码

Report a bug 说明

string base64_encode ( string $data )

使用 base64 对 data 进行编码。

设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的主体。

Base64-encoded 数据要比原始数据多占用 33% 左右的空间,具体方式为如下代码:

$path = 'image.jpg'; 
$fp = fopen($path, 'rb');  // 以二进制形式打开文件 
$content = fread($fp, filesize($path)); // 读取文件内容 
fclose($fp); 
$content = base64_encode($content); // 将二进制信息编码成字符串 
// echo $content;

上述程序输出的结果类似:

R0lGODlhEAAQAJECAISEhAAAhP///wAAACH5BAEAAAIALAAAAAAQABAAAAImlI+pyxedQADQhVflpfAK30jG1lwmqIgWl6CClmKHxn6mdVb6zhcAOw==

这样我们成功将一个文件转换成了字符串。

解码过程非常简单,使用base64_decode($content)即可。

上述处理过程主要用途有:

1、接口传输

主要适用于通过WEB接口将文件从一个站点向另一个站点传输,可以用于XML信息。

2、存入数据库

当然,将图片等文件信息保存到数据库中完全可以不用这么做,但这种方式依然适用。对于数据库新手来说这种方式更可接受。因为这完全是一个字符串。

3、文件加密

文件加密可大家用得比较少,举个例子,假如我们有一套PHP程序需要保护,必须有授权码的用户才能正常运行,那么我们可能使用授权码来对文件进行加密,即将上述编码后的字符串再次加工,运行过程需要授权码才可运行,当然还有其它用途,根据各人的需要灵活使用.