Afficher une image à l'aide de la bibliothèque php GD via un appel de fonction
-
05-07-2019 - |
Question
Je sais que je peux produire une image à l'aide de GD à l'aide de
<img src='draw.php'>
Où draw.php est un fichier contenant le code pour créer une image. Comment puis-je exporter l'image via un appel de fonction (j'utilise Zend Framework, j'utiliserai donc un assistant d'affichage) plutôt que de simplement pointer sur un fichier .php dans une balise img comme ci-dessus?
Toute aide grandement appréciée.
La solution
vous ne pouvez pas.
du moins pas de manière utilisable - vous pouvez encoder l'image avec base64:
<img src="data:image/png;base64,iVBORw0KGgoAAAANS..." alt=""/>
Je ne sais pas quels navigateurs le supportent, bien que ... test rapide:
- firefox: ok
- chrome: ok
- opéra: ok
- ie6: échec
- ie7: échec
- safari: échec
ok, oubliez ça.
mais, vous essayez probablement de faire quelque chose de différent - passer le fichier par ZF. Je ne peux pas vous aider avec ça, mais ça devrait marcher plus ou moins comme ça:
dans votre contrôleur, définissez le type de sortie sur image / png (bien que ZF le gère) passez-y votre image et assurez-vous que ZF n'ajoute rien à la sortie (comme du code HTML supplémentaire, etc.).
Autres conseils
Pourquoi ne pas demander à View View de créer une image, de l'écrire sur le disque, puis de sortir / renvoyer la balise img avec l'attribut source correct?
Envoyez les en-têtes appropriés (type de contenu), puis utilisez http://www.php.net/image_jpeg