Enregistrer une image provenant d'un data:URI dans un fichier
Enregistrer une image provenant d'un data:URI dans un fichier - PHP - Programmation
MarshPosté le 18-04-2008 à 17:28:22
Bonjour à tous,
J'ai récupéré sur le net une source javascript permettant de convertir un canvas en image (canvas2image.js). En fait, le canvas est converti en data:URI avec l'image codée en base64. Je me retrouve donc avec une chaine de type :
Code :
data:image/png;base64,<L'image codée en base64>
Je souhaiterais donc enregistrer cette image via un script PHP. Je passe donc en POST la chaine au format data:URI. J'extrais ensuite la base64 de la chaine et je fait un :
Code :
$fic=fopen("monfichier.png","w";);
fwrite($fic,base64_decode(<L'image codée en base64> ));
Cependant, mon fichier image généré est corrompu. Après une petite analyse, le fichier généré via php fait 5,00ko alors que si je télécharge l'image via un clic-droit dans firefox, l'image finale (qui est lisible) fait 5,07ko.
Est-ce que quelqu'un aurait une idée ?
Merci à tous
Message édité par NoiBe49 le 18-04-2008 à 17:41:27
Marsh Posté le 18-04-2008 à 17:28:22
Bonjour à tous,
J'ai récupéré sur le net une source javascript permettant de convertir un canvas en image (canvas2image.js). En fait, le canvas est converti en data:URI avec l'image codée en base64.
Je me retrouve donc avec une chaine de type :
Je souhaiterais donc enregistrer cette image via un script PHP. Je passe donc en POST la chaine au format data:URI.
J'extrais ensuite la base64 de la chaine et je fait un :
Cependant, mon fichier image généré est corrompu.
Après une petite analyse, le fichier généré via php fait 5,00ko alors que si je télécharge l'image via un clic-droit dans firefox, l'image finale (qui est lisible) fait 5,07ko.
Est-ce que quelqu'un aurait une idée ?
Merci à tous
Message édité par NoiBe49 le 18-04-2008 à 17:41:27