PHP對Base64的支持非常好,有內置的base64_encode與base64_decode負責圖片的Base64編碼與解碼。
編碼上,只要將圖片流讀取到,而后使用base64_encode進行進行編碼即可得到。
而解碼就略微麻煩一點,究其原因在於把圖片編碼成base64字符串后,編碼內會加入這些字符 data:image/png;base64,本來是用於base64進行識別的。但是如果直接放到php里用base64_decode函數解碼會導致最終保存的圖片文件格式損壞,而解決方法就是先去掉這一串字符:
file_put_contents(‘/aa.jpg',base64_decode(explode(',',$data)[1]));