Convertir une chaîne Base64 en fichier image
Lors de la tentative de conversion d'une chaîne Base64 en fichier image, des erreurs peuvent survenir en raison d'une image non valide données. Cette erreur peut se produire lorsque la chaîne Base64 inclut « data:image/png;base64 », ce qui peut entraîner des problèmes de décodage.
Pour résoudre cette erreur, supprimez la partie « data:image/png;base64 » avant décoder la chaîne Base64. L'extrait de code suivant illustre comment modifier la fonction de décodage :
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; }
En supprimant l'en-tête inutile, vous vous assurez que le processus de décodage ne fonctionne que sur les données d'image réelles codées en base64. Ce code corrigé convertira avec succès la chaîne Base64 en un fichier image valide.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!