Imagen generada por PHP GD La imagen no se puede mostrar porque contiene errores en Firefox



Al generar una imagen con PHP, por ejemplo, agregar una marca de agua a una imagen almacenada en el servidor, usar el código siguiente o similar con JPEG en lugar de PNG, es posible que la imagen no se genere y arroje un error directamente visible en Firefox, pero no en Chrome

Este tipo de código, a pesar de trabajar en algunos servidores, ahora podría funcionar en algunos otros, a veces por razones oscuras. En mi caso, funcionó perfectamente bien localmente, pero produjo el error debajo del servidor de Internet, la imagen no se puede mostrar porque contiene errores.

El problema puede provenir de varias razones, estas son algunas de ellas:

Una salida ya ha sido configurada previamente.

Un error genuino de la generación de imágenes.

Se usa el tipo de imagen equivocado.

La biblioteca de imágenes no está instalada.

Una salida ya ha sido establecida previamente

Incluso si no intencionalmente, podría ser el caso, por ejemplo, que otros scripts anteriores contenían espacios al final. Para evitar este error, asegúrese de que, como recomienda PHP, no cierre scripts con la etiqueta PHP final?

Luego, antes de usar la función de encabezado, use el siguiente código para asegurarse de que cualquier encabezado previamente configurado se descarte

Y también esta función para asegurarse de que no se haya generado ninguna salida antes del encabezado y la imagen

Esto resolvió el problema en mi caso, y la imagen se visualizó correctamente de nuevo.

Un error genuino de la generación de imágenes

En caso de que se haya producido un error real durante la generación de la imagen, asegúrese de que PHP esté configurado para mostrar todos los tipos posibles de errores, y verifique los registros correspondientes, para poder rastrearlo y resolverlo.

Creación del sitio web maestro: ¡Inscríbase ahora!

Transforme su presencia digital con nuestro curso integral de creación de sitios web: ¡comience su viaje para convertirse en un experto web hoy!

Inscribirse aquí

Transforme su presencia digital con nuestro curso integral de creación de sitios web: ¡comience su viaje para convertirse en un experto web hoy!

El siguiente código hará que PHP informe todos los errores en el registro:

A continuación, puede descubrir que se informaron algunos errores, incluso si no aparecían en el html de salida, debido a la configuración del servidor.

Se usa el tipo de imagen equivocado

Asegúrese de que los tipos de imagen que está utilizando sean correctos, por ejemplo, use este código para distinguir entre png y jpeg.

También asegúrese de que el encabezado sea correcto de acuerdo con la salida utilizada, dependiendo de la función de generación de imágenes utilizada

La biblioteca de imágenes no está instalada

Para asegurarse de que las bibliotecas de imágenes estén instaladas. Para hacerlo, ejecute la función phpinfo (); en un script, y verifique el resultado del siguiente valor relacionado con PHP GD, la biblioteca de gráficos que es utilizada por funciones como imagepng ();

En caso de que falten paquetes, la forma de resolverlos depende de su configuración local, agregando el paquete usando los comandos PEAR o usando la solución integrada de host web para la instalación del paquete.

Qué hacer cuando imagejpeg o imagepng no está funcionando

En NotePad ++, abra el archivo PHP que llama a la función imagepng y guárdelo después de ir al menú Codificación> Convertir a UTF-8 sin BOM.

En DreamWeaver, vaya a Propiedades de página> Título / Codificación> desmarque Incluir firma Unicode (BOM).

Cuando PHP imagejpeg o imagepng no funciona, lo más probable es que el archivo PHP haya sido codificado con una lista de materiales, una lista de materiales y, por lo tanto, se envíe información adicional con la imagen antes de los datos de la imagen.

Las funciones PHP imagejpeg y PHP imagepng son funciones utilizadas para enviar un código de imagen directamente en la respuesta del servidor.

PHP - imagepng no funciona correctamente
PHP - función imagepng
PHP - función imagejpeg

Preguntas Frecuentes

¿Por qué no puedo mostrar la imagen creada con PHP GD en mi navegador?
Si su imagen generada por su PHP GD no se muestra y muestra un error en el navegador, podría deberse a varias razones, como la salida anterior que ya se envía, errores genuinos durante la generación de imágenes, utilizando el tipo de imagen incorrecto o la biblioteca de imágenes GD no siendo instalada. Asegúrese de que no se envíe una salida anterior, verifique los errores genuinos, verifique el tipo de imagen y el encabezado, y confirme la instalación de la biblioteca GD.
¿Cómo pueden los desarrolladores solucionar el problema de las imágenes generadas por PHP GD que no se muestran en Firefox debido a errores?
Los desarrolladores deben verificar el código de generación de imágenes en busca de errores, asegurarse de que se envíe el encabezado de tipo de contenido correcto antes de los datos de la imagen y verificar que no se generen errores o advertencias de PHP. Usar ob_clean () antes de emitir la imagen también puede ayudar.

Yoann Bierling
Sobre el Autor - Yoann Bierling
Yoann Bierling es un profesional de la publicación web y consultoría digital, que tiene un impacto global a través de la experiencia y la innovación en tecnologías. Apasionado por empoderar a las personas y organizaciones para que prosperen en la era digital, se ve impulsado a ofrecer resultados excepcionales e impulsar el crecimiento a través de la creación de contenido educativo.

Creación del sitio web maestro: ¡Inscríbase ahora!

Transforme su presencia digital con nuestro curso integral de creación de sitios web: ¡comience su viaje para convertirse en un experto web hoy!

Inscribirse aquí

Transforme su presencia digital con nuestro curso integral de creación de sitios web: ¡comience su viaje para convertirse en un experto web hoy!




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

Deja un comentario