Tukar Rentetan Base64 kepada Fail Imej
Apabila cuba menukar rentetan Base64 kepada fail imej, ralat boleh timbul disebabkan oleh imej yang tidak sah data. Ralat ini mungkin berlaku apabila rentetan Base64 termasuk "data:image/png;base64," yang boleh menyebabkan isu penyahkodan.
Untuk menyelesaikan ralat ini, alih keluar bahagian "data:image/png;base64," sebelum menyahkod rentetan Base64. Coretan kod berikut menggambarkan cara mengubah suai fungsi penyahkodan:
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; }
Dengan mengalih keluar pengepala yang tidak diperlukan, anda memastikan proses penyahkodan hanya beroperasi pada data imej berkod base64 yang sebenar. Kod yang diperbetulkan ini akan berjaya menukar rentetan Base64 kepada fail imej yang sah.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Base64 kepada Ralat Penukaran Imej yang Disebabkan oleh Data Tidak Sah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!