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!