Image générée par PHP GD L'image ne peut pas être affichée car elle contient des erreurs dans Firefox



Lors de la génération d'une image avec PHP, par exemple en ajoutant un filigrane à une image stockée sur le serveur, en utilisant le code ci-dessous, ou similaire avec JPEG au lieu de PNG, l'image peut ne pas être générée et afficher une erreur directement visible sur Firefox. sur Chrome.

Ce type de code, bien qu'il fonctionne sur certains serveurs, peut maintenant fonctionner sur d'autres, parfois pour des raisons obscures. Dans mon cas, cela fonctionne parfaitement bien localement, mais produit en dessous de l'erreur sur le serveur internet, l'image ne peut pas être affichée car elle contient des erreurs.

Le problème peut venir de plusieurs raisons, en voici quelques unes:

Une sortie a déjà été définie précédemment.

Une véritable erreur de génération d'image.

Le mauvais type d'image est utilisé.

La bibliothèque d'images n'est pas installée.

Une sortie a déjà été définie précédemment

Même si ce n'est pas intentionnel, cela pourrait être le cas par exemple que d'autres scripts contenaient des espaces à la fin - pour éviter cette erreur, assurez-vous, comme le recommande PHP, de ne pas fermer les scripts avec PHP end tag?

Ensuite, avant d'utiliser la fonction d'en-tête, utilisez le code suivant pour vous assurer que tout en-tête précédemment défini est ignoré

Et aussi cette fonction pour s'assurer qu'aucune sortie n'a été générée avant l'en-tête et l'image

Cela a résolu le problème dans mon cas, et l'image a été correctement affichée à nouveau.

Une véritable erreur de génération d'image

Au cas où une erreur réelle se produirait lors de la génération de l'image, assurez-vous que PHP est configuré pour afficher toutes les erreurs possibles, et vérifiez les logs correspondants, afin de pouvoir le localiser et le résoudre.

Apprenez les bases du référencement: Inscrivez-vous aujourd'hui!

Stimulez la visibilité et le trafic de votre site Web en maîtrisant les principes fondamentaux du référencement avec notre cours de base facile à suivre.

Commencer à apprendre le référencement

Stimulez la visibilité et le trafic de votre site Web en maîtrisant les principes fondamentaux du référencement avec notre cours de base facile à suivre.

Le code suivant permettra à PHP de signaler toutes les erreurs dans le journal:

Vous pourriez alors découvrir que certaines erreurs ont été signalées, même si elles n'apparaissaient pas dans le fichier HTML de sortie, en raison de la configuration du serveur.

Le mauvais type d'image est utilisé

Assurez-vous que les types d'image que vous utilisez sont corrects, par exemple en utilisant ce code pour faire la distinction entre png et jpeg.

Assurez-vous également que l'en-tête est correct en fonction de la sortie utilisée, en fonction de la fonction de génération d'image utilisée

La bibliothèque d'images n'est pas installée

Pour vous assurer que les bibliothèques d'images sont installées. Pour ce faire, exécutez la fonction phpinfo (); dans un script, et vérifiez la sortie pour la valeur suivante liée à PHP GD, la bibliothèque graphique qui est utilisée par des fonctions comme imagepng ();

Dans le cas où les paquets sont manquants, la façon de les résoudre dépend de votre configuration locale, soit en ajoutant le paquet en utilisant les commandes PEAR, soit en utilisant la solution intégrée de l'hôte web pour l'installation du paquet.

Que faire lorsque imagejpeg ou imagepng ne fonctionne pas

Dans le Bloc-notes ++, ouvrez le fichier PHP qui appelle la fonction imagepng et enregistrez-le après avoir accédé au menu Encodage> Convertir en UTF-8 sans nomenclature.

Dans DreamWeaver, accédez à Propriétés de la page> Titre / codage> décochez la case Inclure la signature Unicode (BOM).

Lorsque PHP imagejpeg ou imagepng ne fonctionne pas, cela est probablement dû au fait que le fichier PHP a été codé avec une nomenclature, une nomenclature et, par conséquent, des informations supplémentaires sont envoyées avec l'image avant les données d'image.

Les fonctions PHP imagejpeg et PHP imagepng permettent d’envoyer un code image directement dans la réponse du serveur.

PHP - imagepng ne fonctionne pas correctement
PHP - fonction imagepng
PHP - fonction imagejpeg

Questions Fréquemment Posées

Pourquoi ne puis-je pas afficher l'image créée avec PHP GD dans mon navigateur?
Si votre image générée par PHP GD ne s'affiche pas et affiche une erreur dans le navigateur, cela peut être dû à plusieurs raisons telles que la sortie précédente déjà envoyée, les erreurs authentiques pendant la génération d'images, en utilisant le mauvais type d'image ou la bibliothèque d'images GD non étant installé. Assurez-vous qu'aucune sortie précédente n'est envoyée, vérifiez les erreurs authentiques, vérifiez le type d'image et l'en-tête et confirmez l'installation de la bibliothèque GD.
Comment les développeurs peuvent-ils résoudre le problème des images générées par PHP GD qui ne s'affichent pas dans Firefox en raison d'erreurs?
Les développeurs doivent vérifier le code de génération d'images pour les erreurs, s'assurer que l'en-tête de type contenu correct est envoyé avant toute donnée d'image et vérifiez qu'aucune erreur ou avertisseur de PHP n'est publié. L'utilisation ob_clean () avant de sortir l'image peut également aider.

Yoann Bierling
A propos de l'auteur - Yoann Bierling
Yoann Bierling est un professionnel de l'édition Web et du conseil numérique, ayant un impact mondial grâce à l'expertise et à l'innovation dans les technologies. Passionné par l'autonomisation des individus et des organisations à prospérer à l'ère numérique, il est poussé à fournir des résultats exceptionnels et à stimuler la croissance grâce à la création de contenu éducatif.

Apprenez les bases du référencement: Inscrivez-vous aujourd'hui!

Stimulez la visibilité et le trafic de votre site Web en maîtrisant les principes fondamentaux du référencement avec notre cours de base facile à suivre.

Commencer à apprendre le référencement

Stimulez la visibilité et le trafic de votre site Web en maîtrisant les principes fondamentaux du référencement avec notre cours de base facile à suivre.




commentaires (6)

 2018-08-19 -  Irvin Vasquez
Simple, clear and well explained, many thanks
 2018-08-19 -  Joyce Lawrence
ありがとう、非常に有益な
 2018-08-19 -  Catherine Roberts
Dokładnie tego, czego szukałem, idealnie
 2018-08-19 -  Headlinext
जानकारी का महान टुकड़ा, साझा करने के लिए धन्यवाद
 2018-08-19 -  Marshel
विश्वास नहीं कर सकता कि मुझे अंत में समाधान मिला, यह लंबे समय तक एक दुःस्वप्न था, अब हल हो गया
 2018-08-19 -  porcateraC
بالضبط ما كنت أبحث عنه ، مثالي

laissez un commentaire