将 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中文网其他相关文章!