Imagem gerada pelo PHP GD A imagem não pode ser exibida porque contém erros no Firefox



Ao gerar uma imagem com PHP, por exemplo, adicionando uma marca d'água a uma imagem armazenada no servidor, usando código abaixo ou semelhante a JPEG em vez de PNG, a imagem pode não ser gerada e gerar um erro, visível diretamente no Firefox, mas não no Chrome.

Esse tipo de código, apesar de funcionar em alguns servidores, agora pode funcionar em outras, por algumas razões obscuras. No meu caso, funcionou perfeitamente bem localmente, mas produziu erro abaixo no servidor da Internet, a imagem não pode ser exibida porque contém erros.

A questão pode vir de várias razões, aqui estão algumas delas:

Uma saída já foi definida anteriormente.

Um erro genuíno da geração de imagens.

O tipo de imagem errado é usado.

A biblioteca de imagens não está instalada.

Uma saída já foi definida anteriormente

Mesmo que não seja intencionalmente, pode ser o caso, por exemplo, de outros scripts anteriores conterem espaços no final - para evitar esse erro, certifique-se, como o PHP recomenda, de não fechar os scripts com a tag de fim do PHP?

Em seguida, antes de usar a função de cabeçalho, use o código a seguir para garantir que qualquer cabeçalho definido anteriormente seja descartado

E também esta função para garantir que nenhuma saída tenha sido gerada antes do cabeçalho e da imagem

Isso resolveu o problema no meu caso, e a imagem foi exibida corretamente novamente.

Um erro genuíno da geração de imagens

Caso um erro real seja lançado durante a geração da imagem, certifique-se de que o PHP esteja configurado para exibir todos os tipos possíveis de erros e verifique os logs correspondentes para poder rastreá-lo e resolvê-lo.

O código a seguir fará com que o PHP relate todos os erros no log:

Aprenda o Basics de SEO: Inscreva -se hoje!

Aumente a visibilidade e o tráfego do seu site, dominando os fundamentos do SEO com nosso curso básico fácil de seguir.

Comece a aprender SEO

Aumente a visibilidade e o tráfego do seu site, dominando os fundamentos do SEO com nosso curso básico fácil de seguir.

Você pode então descobrir que alguns erros foram relatados, mesmo que eles não apareçam no html de saída, devido à configuração do servidor.

O tipo de imagem errado é usado

Certifique-se de que os tipos de imagem que você está usando estão corretos, por exemplo, usando este código para distinguir entre png e jpeg.

Verifique também se o cabeçalho está correto de acordo com a saída usada, dependendo da função de geração de imagem usada

A biblioteca de imagens não está instalada

Para garantir que as bibliotecas de imagens estejam instaladas. Para fazer isso, execute a função phpinfo (); em um script e verifique a saída para o seguinte valor relacionado ao PHP GD, a biblioteca gráfica que é usada por funções como imagepng ();

Caso os pacotes estejam faltando, a maneira de resolvê-los depende da sua configuração local, seja adicionando o pacote usando os comandos do PEAR ou usando o host da Web incorporado na solução para a instalação do pacote.

O que fazer quando o imagejpeg ou o imagepng não está funcionando

No NotePad ++, abra o arquivo PHP que chama a função imagepng e salve-o após ir ao menu Encoding> Convert to UTF-8 sem BOM.

No DreamWeaver, vá para Propriedades da página> Título / Codificação> desmarque Incluir assinatura Unicode (BOM).

Quando o PHP imagejpeg ou imagepng não está funcionando, é mais provável que o arquivo PHP tenha sido codificado com uma BOM, uma lista de materiais e, portanto, informações extras sejam enviadas com a imagem antes dos dados da imagem.

As funções PHP imagejpeg e PHP imagepng são usadas para enviar um código de imagem diretamente na resposta do servidor.

PHP - imagepng não está funcionando corretamente
Função PHP - imagepng
PHP - função imagejpeg

Perguntas Frequentes

Por que não posso exibir a imagem criada com PHP GD no meu navegador?
Se a sua imagem gerada por PHP GD não estiver exibindo e mostrar um erro no navegador, pode ser devido a vários motivos, como saída anterior que já está sendo enviada, erros genuínos durante a geração de imagens, usando o tipo de imagem errado ou a biblioteca de imagens GD não sendo instalado. Certifique -se de que nenhuma saída anterior seja enviada, verifique se há erros genuínos, verifique o tipo de imagem e o cabeçalho e confirme a instalação da biblioteca GD.
Como os desenvolvedores podem corrigir o problema das imagens geradas por PHP GD não exibidas no Firefox devido a erros?
Os desenvolvedores devem verificar o código de geração de imagens quanto a erros, verifique se o cabeçalho do tipo conteúdo correto está sendo enviado antes de qualquer dados de imagem e verificar se não estão sendo produzidos erros ou avisos de PHP. O uso de ob_clean () antes de gerar a imagem também pode ajudar.

Yoann Bierling
Sobre o autor - Yoann Bierling
Yoann Bierling é um profissional de publicação e consultoria digital da web, causando um impacto global por meio de conhecimentos e inovação em tecnologias. Apaixonado por capacitar indivíduos e organizações a prosperar na era digital, ele é levado a fornecer resultados excepcionais e impulsionar o crescimento através da criação educacional de conteúdo.

Aprenda o Basics de SEO: Inscreva -se hoje!

Aumente a visibilidade e o tráfego do seu site, dominando os fundamentos do SEO com nosso curso básico fácil de seguir.

Comece a aprender SEO

Aumente a visibilidade e o tráfego do seu site, dominando os fundamentos do SEO com nosso curso básico fácil de seguir.




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

Deixe um comentário