Imatge generada per PHP GD La imatge no es pot mostrar perquè conté errors a Firefox

Quan es genera una imatge amb PHP, per exemple, afegint una filigrana a una imatge emmagatzemada del servidor, utilitzant el codi inferior o similar amb JPEG en comptes de PNG, la imatge podria no generar-se res i llançar un error, visible directament a Firefox, però no a Chrome.

Aquest tipus de codi, tot i treballar en alguns servidors, podria ara funcionar en altres, de vegades per motius incòmodes. En el meu cas, funcionava perfectament bé localment, però produït per sota de l'error en el servidor d'Internet, la imatge no es pot mostrar perquè conté errors.

El tema pot provenir de diverses raons, aquí teniu algunes:

Ja s'ha establert una sortida prèviament.

Un error genuí de la generació d'imatges.

S'utilitza el tipus d'imatge incorrecte.

La biblioteca d'imatges no està instal·lada.

Ja s'ha establert una sortida prèviament

Fins i tot si no és intencional, podria ser el cas, per exemple, que altres scripts anteriors contenien espais al final, per evitar aquest error, assegureu-vos que, com PHP recomana, no es tanquin scripts amb l'etiqueta final de PHP.

A continuació, abans d'utilitzar la funció de capçalera, utilitzeu el codi següent per assegurar-vos que qualsevol encapçalament establert anteriorment es descarta

I també aquesta funció per assegurar-se que no s'hagi generat cap sortida abans de la capçalera i la imatge

Això va solucionar el problema en el meu cas, i la imatge es va tornar a mostrar correctament.

Un error genuí de la generació d'imatges

En cas que es produeixi un error real durant la generació d'imatges, assegureu-vos que PHP estigui configurat per mostrar tots els tipus d'errors possibles i comproveu els registres corresponents per tal de poder localitzar-lo i resoldre'l.

Apreneu els conceptes bàsics de SEO: inscriviu -vos avui!

Poteneu la visibilitat i el trànsit del vostre lloc web dominant els fonaments del SEO amb el nostre curs bàsic bàsic de seguir.

Comença a aprendre SEO

Poteneu la visibilitat i el trànsit del vostre lloc web dominant els fonaments del SEO amb el nostre curs bàsic bàsic de seguir.

El següent codi farà que PHP informi tots els errors del registre:

Aleshores, podeu descobrir que s'han informat alguns errors, encara que no apareguessin a la sortida html, a causa de la configuració del servidor.

S'utilitza el tipus d'imatge incorrecte

Assegureu-vos que els tipus d'imatge que utilitzeu són correctes, per exemple, utilitzant aquest codi per distingir entre png i jpeg.

Assegureu-vos també que l'encapçalament és correcte segons la sortida que s'utilitza, depenent de la funció de generació d'imatges que s'utilitzi

La biblioteca d'imatges no està instal·lada

Per assegurar-vos que s'instal·lin les biblioteques d'imatges. Per fer-ho, executeu la funció phpinfo (); en un script i comproveu la sortida del següent valor relacionat amb PHP GD, la biblioteca de gràfics que s'utilitza per funcions com imagepng ();

En cas que falti els paquets, la forma de resoldre-la depèn de la vostra configuració local, ja sigui afegint el paquet usant ordres PEAR o utilitzant el servidor web integrat en la solució per a la instal·lació del paquet.

Què fer quan imagejpeg o imagepng no funcionen

A NotePad ++, obriu el fitxer PHP que truca la funció imagepng i deseu-lo després de passar al menú Codificació> Converteix a UTF-8 sense BOM.

A DreamWeaver, aneu a Propietats de la pàgina> Títol / Codificació> desmarqueu Inclou la signatura Unicode (BOM).

Quan PHP imagejpeg o imagepng no funciona, probablement es deu al fet que el fitxer PHP s'ha codificat amb una llista de materials, una factura de material i per tant s'envia informació addicional amb la imatge abans que les dades de la imatge.

Les funcions de PHP imagejpeg i PHP imagepng són usades per enviar un codi d’imatges directament a la resposta del servidor.

PHP - imagepng no funciona correctament
PHP - funció d'imatge
PHP - funció imagejpeg

Preguntes Més Freqüents

Per què no puc mostrar la imatge creada amb PHP GD al meu navegador?
Si la imatge generada per PHP GD no es mostra i mostra un error al navegador, pot ser degut a diverses raons com ara la sortida anterior que ja s’envia instal·lat. Assegureu -vos que no s’enviï la sortida prèvia, comproveu si hi ha errors genuïns, verifiqueu el tipus d’imatge i la capçalera i confirmeu la instal·lació de la biblioteca GD.
Com poden solucionar els desenvolupadors el problema de les imatges generades per PHP GD que no es mostren a Firefox a causa dels errors?
Els desenvolupadors han de comprovar els errors del codi de generació d’imatges, assegurar-se que s’envia l’encapçalament de tipus de contingut correcte abans de les dades d’imatge i verificar que no s’estan produint errors ni avisos PHP. L'ús d'OB_CLEAN () abans de sortir la imatge també us pot ajudar.

Yoann Bierling
Sobre l’autor - Yoann Bierling
Yoann Bierling és un professional de consultoria i consultoria digital, que té un impacte global a través de l’experiència i la innovació en les tecnologies. Passat per empoderar les persones i les organitzacions per prosperar en l’era digital, se li impulsa a obtenir resultats excepcionals i impulsar el creixement mitjançant la creació de contingut educatiu.

Apreneu els conceptes bàsics de SEO: inscriviu -vos avui!

Poteneu la visibilitat i el trànsit del vostre lloc web dominant els fonaments del SEO amb el nostre curs bàsic bàsic de seguir.

Comença a aprendre SEO

Poteneu la visibilitat i el trànsit del vostre lloc web dominant els fonaments del SEO amb el nostre curs bàsic bàsic de seguir.




Comentaris (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
بالضبط ما كنت أبحث عنه ، مثالي

Deixa un comentari