將Base64 字串轉換為映像檔
嘗試將Base64 字串轉換為映像檔時,可能會因圖片無效而出現錯誤數據。當 Base64 字串包含“data:image/png;base64,”時可能會出現此錯誤,這可能會導致解碼問題。
要解決此錯誤,請刪除前面的「data:image/png;base64,」部分解碼 Base64 字串。以下程式碼片段說明如何修改解碼函數:
function base64_to_jpeg($base64_string, $output_file) { // open the output file for writing $ifp = fopen( $output_file, 'wb' ); // split the string on commas // $data[ 0 ] == "data:image/png;base64" // $data[ 1 ] == <actual base64 string> $data = explode( ',', $base64_string ); // we could add validation here with ensuring count( $data ) > 1 fwrite( $ifp, base64_decode( $data[ 1 ] ) ); // clean up the file resource fclose( $ifp ); return $output_file; }
透過刪除不必要的標頭,您可以確保解碼過程僅對實際的 Base64 編碼圖像資料進行操作。此更正後的程式碼將成功將 Base64 字串轉換為有效的圖片檔案。
以上是如何修復無效資料導致的 Base64 到影像轉換錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!