Sauvegarder une image PHP

Petit nouveau ! | 3 Messages

15 août 2010, 12:27

Bonjour,

J'ai besoin d'envoyer, par email, des graphiques que je génère à partir d'une BDD grâce à Artichow. La création du fichier de graph se passe bien, j'arrive à l'afficher, par contre je bloque pour l'envoyer en pièces jointe.

Je m'explique : pour l'envoyer, j'ai besoin au préalable d'enregistrer l'image que artichow me génère, qui est concrêtement une balise <img src='graph.php'>, dans un fichier jpeg du genre 'graph.jpg', avant de pouvoir joindre le fichier (je n'ai pas de problème avec la fonction mail, j'arrive à joindre d'autres fichiers).

Seulement là je bloque, créer un fichier image avec imagecreatetruecolors/imagejpeg ça va, mais à partir d'un fichier php comment faire ? (j'ai testé imagecreatefromwbmp et autres sans succès).

Merci d'avances !

ViPHP
xTG
ViPHP | 7331 Messages

15 août 2010, 13:34

Cela dépend de la version de Artishow que tu utilises selon la documentation.
cf fonction draw générant l'image : http://www.artichow.org/doc/Graph#method.draw

Petit nouveau ! | 3 Messages

15 août 2010, 15:12

J'utilise la dernière soit la 1.10 pour PHP5. J'avoue ne pas avoir compris ce que ton lien explique, à savoir comment enregistrer dans un fichier dans une version supérieure à la 1.0.8 je suppose qu'on ne peut pas simplement mettre le fichier comme paramètre de draw()...)?

ViPHP
xTG
ViPHP | 7331 Messages

15 août 2010, 17:49

Ce qui était important était ceci :
# string $file := NULL

* Supprimé à partir d'Artichow 1.0.8

Si vous souhaitez enregistrer l'image dans un fichier plutôt qu'à l'écran, indiquez un nom de fichier destination pour le paramètre $file. Ce paramètre est optionnel, et si il n'est pas rempli, alors l'image sera affichée à l'écran.

Petit nouveau ! | 3 Messages

16 août 2010, 00:07

Une autre façon de faire est-elle prévue pour les versions supérieures à la 1.0.8 ? Il me semble qu'en dehors de artichow, c'est une possibilité qui doit être prévue en php ; j'ai vu des nombreuses librairées générer des images de la même façon (à utiliser avec une balise img) et je suppose que je suis pas le premier à vouloir sauvegarder cette image ???

ViPHP
xTG
ViPHP | 7331 Messages

16 août 2010, 01:18

Aucune idée, je n'utilise pas cette librairie alors je n'en suis pas le développement.

Pour une solution alternative tu peux essayer de lire le "fichier" généré (file_get_contents()) et le réécrire dans un dossier de ton ftp.