Maison >développement back-end >tutoriel php >Comment corriger les erreurs « Image invalide » lors de la conversion de chaînes Base64 en fichiers image ?

Comment corriger les erreurs « Image invalide » lors de la conversion de chaînes Base64 en fichiers image ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-15 07:11:14864parcourir

How to Fix

Conversion d'une chaîne Base64 en fichier image : résolution des erreurs d'image non valides

Lorsque vous essayez de convertir une chaîne Base64 en fichier image, vous pouvez rencontrer des problèmes entraînant un image invalide. Cette erreur provient de la présence de données supplémentaires dans le contenu encodé, notamment "data:image/png;base64", qui doivent être supprimées avant le décodage.

Pour résoudre ce problème, supprimez "data:image/ png;base64", à partir de la chaîne Base64 avant de la décoder :

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 = 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; 
}

Cette fonction mise à jour garantit que seules les données d'image pures encodées en Base64 sont décodé, permettant la conversion réussie de la chaîne en fichier image.

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