PHP保存Base64圖片base64_decode的問題 文件打不開的問題


 

 

PHP對Base64的支持非常好,有內置的base64_encode與base64_decode負責圖片的Base64編碼與解碼。

編碼上,只要將圖片流讀取到,而后使用base64_encode進行進行編碼即可得到。

而解碼就略微麻煩一點,究其原因在於把圖片編碼成base64字符串后,編碼內會加入這些字符 data:image/png;base64,本來是用於base64進行識別的。但是如果直接放到php里用base64_decode函數解碼會導致最終保存的圖片文件格式損壞,而解決方法就是先去掉這一串字符:

1
2
3
$base64_string explode ( ',' $base64_string );  //截取data:image/png;base64, 這個逗號后的字符
$data base64_decode ( $base64_string [1]);   //對截取后的字符使用base64_decode進行解碼
file_put_contents ( $url $data );  //寫入文件並保存


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM