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程序需要保護,必須有授權碼的用戶才能正常運行,那么我們可能使用授權碼來對文件進行加密,即將上述編碼后的字符串再次加工,運行過程需要授權碼才可運行,當然還有其它用途,根據各人的需要靈活使用.
新聞熱點
疑難解答