首頁  >  文章  >  後端開發  >  php保存Base64圖片base64_decode的問題

php保存Base64圖片base64_decode的問題

黄舟
黄舟原創
2017-09-28 09:15:591813瀏覽

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

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

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


##

$base64_string= explode(',', $base64_string); //截取data:image/png;base64, 这个逗号后的字符
$data= base64_decode($base64_string[1]);  //对截取后的字符使用base64_decode进行解码
file_put_contents($url, $data); //写入文件并保存

以上是php保存Base64圖片base64_decode的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn