php Base64符号化ファイルのバイナリストリームは主に使用されます.

2413 ワード

この文章を紹介します.php Base 64コードファイルについてのバイナリフローは主にどこで使われていますか?挙げた友達が参考にして、簡単に紹介しました.
Base 64符号化ファイルのバイナリストリームはbase 64_を使用しています.エンコード関数はファイルのバイナリ情報をエンコードします.
公式の説明
base 64_encode-MIME base 64を使ってデータを符号化します.
Report a bug説明
string base 64_encodeはbase 64を使ってdataを符号化します.
この符号化は、電子メールの本体のような、純粋でない8 bitのトランスポート層を介してバイナリデータを伝送できるように設計されている.
Base 64-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程序需要保护,必须有授权码的用户才能正常运行,那么我们可能使用授权码来对文件进行加密,即将上述编码后的字符串再次加工。运行过程需要授权码才可运行。

当然还有其它用途,根据各人的需要灵活使用。

64        :
function base64_to_blob($base64Str){ if($index = strpos($base64Str,'base64,',0)){ $blobStr = substr($base64Str,$index+7); $typestr = substr($base64Str,0,$index); preg_match("/^data:(.*);$/",$typestr,$arr); return ['blob'=>base64_decode($blobStr),'type'=>$arr[1]]; } return false; } $data = base64_to_blob($base64Str); header('Location: '.$data['type']); echo $data['blob'];
転載先:https://www.cnblogs.com/tkzc2013/p/9608325.html