Maison >développement back-end >tutoriel php >Comment corriger les erreurs de conversion Base64 en image causées par des données invalides ?

Comment corriger les erreurs de conversion Base64 en image causées par des données invalides ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-19 20:36:14175parcourir

How to Fix Base64 to Image Conversion Errors Caused by Invalid Data?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn