>php教程 >php手册 >php Base64编码文件二进制流主要使用

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

WBOY
WBOY원래의
2016-05-25 16:49:001203검색

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程序需要保护,必须有授权码的用户才能正常运行,那么我们可能使用授权码来对文件进行加密,即将上述编码后的字符串再次加工,运行过程需要授权码才可运行,当然还有其它用途,根据各人的需要灵活使用.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.