Immagine generata da GD PHP L'immagine non può essere visualizzata perché contiene errori in Firefox



Quando si genera un'immagine con PHP, ad esempio aggiungendo una filigrana a un'immagine archiviata sul server, utilizzando il codice sottostante o simile con JPEG anziché PNG, l'immagine potrebbe non essere generata e generare un errore, direttamente visibile su Firefox, ma non su Chrome.

Questo tipo di codice, nonostante lavori su alcuni server, potrebbe ora funzionare su altri, a volte per motivi oscuri. Nel mio caso, ha funzionato perfettamente bene localmente, ma ha prodotto sotto l'errore sul server internet, l'immagine non può essere visualizzata perché contiene errori.

Il problema può venire da diversi motivi, eccone alcuni:

Un output è già stato impostato in precedenza.

Un vero errore dalla generazione di immagini.

Viene utilizzato il tipo di immagine errato.

La libreria di immagini non è installata.

Un output è già stato impostato in precedenza

Anche se non intenzionalmente, potrebbe essere il caso ad esempio che altri script precedenti contenessero spazi alla fine - per evitare questo errore, assicurati, come raccomanda PHP, di non chiudere gli script con il tag di chiusura PHP?>

Quindi, prima di utilizzare la funzione di intestazione, utilizzare il seguente codice per assicurarsi che qualsiasi intestazione precedentemente impostata venga eliminata

E anche questa funzione per assicurarsi che nessun output sia stato generato prima dell'intestazione e dell'immagine

Questo ha risolto il problema nel mio caso e l'immagine è stata correttamente visualizzata di nuovo.

Un vero errore dalla generazione di immagini

Nel caso in cui sia stato generato un errore reale durante la generazione dell'immagine, assicurarsi che PHP sia impostato per visualizzare tutti i possibili tipi di errori e controllare i registri corrispondenti, in modo da essere in grado di rintracciarlo e risolverlo.

Creazione del sito web principale: iscrivi ora!

Trasforma la tua presenza digitale con il nostro corso completo di creazione di siti Web: inizia il tuo viaggio per diventare un esperto web oggi!

Iscriviti qui

Trasforma la tua presenza digitale con il nostro corso completo di creazione di siti Web: inizia il tuo viaggio per diventare un esperto web oggi!

Il codice seguente renderà tutti gli errori nel registro di PHP:

Potresti quindi scoprire che sono stati segnalati alcuni errori, anche se non sono stati visualizzati nell'output html, a causa della configurazione del server.

Viene utilizzato il tipo di immagine errato

Assicurati che i tipi di immagine che stai utilizzando siano corretti, ad esempio usando questo codice per distinguere tra png e jpeg.

Assicurati inoltre che l'intestazione sia corretta in base all'output utilizzato, a seconda della funzione di generazione dell'immagine utilizzata

La libreria di immagini non è installata

Per assicurarsi che le librerie di immagini siano installate. Per fare ciò, eseguire la funzione phpinfo (); in uno script e controlla l'output per il seguente valore relativo a PHP GD, la libreria grafica che viene utilizzata da funzioni come imagepng ();

Nel caso in cui i pacchetti siano mancanti, il modo per risolverli dipende dalla configurazione locale, aggiungendo il pacchetto utilizzando i comandi PEAR o utilizzando la soluzione integrata di web host per l'installazione del pacchetto.

Cosa fare quando imagejpeg o imagepng non funziona

In NotePad ++, apri il file PHP che chiama la funzione imagepng e salvalo dopo aver visualizzato il menu Codifica> Converti in UTF-8 senza BOM.

In DreamWeaver, vai a Proprietà pagina> Titolo / codifica> deseleziona Includi firma Unicode (BOM).

Quando PHP imagejpeg o imagepng non funziona, è molto probabilmente dovuto al fatto che il file PHP è stato codificato con una distinta base, una distinta base, e quindi le informazioni extra vengono inviate con l'immagine prima dei dati dell'immagine.

Le funzioni PHP imagejpeg e PHP imagepng sono funzioni utilizzate per inviare un codice immagine direttamente nella risposta del server.

PHP - imagepng non funziona correttamente
PHP - funzione imagepng
PHP - funzione imagejpeg

Domande Frequenti

Perché non posso visualizzare l'immagine creata con PHP GD nel mio browser?
Se l'immagine generata da PHP GD non viene visualizzata e mostra un errore nel browser, potrebbe essere dovuto a diversi motivi come l'output precedente già inviato, errori autentici durante la generazione di immagini, usando il tipo di immagine errata o la libreria di immagini GD non essere installato. Assicurarsi che non venga inviato alcun output precedente, verifica gli errori autentici, verifichi il tipo di immagine e l'intestazione e conferma l'installazione della libreria GD.
In che modo gli sviluppatori possono risolvere il problema delle immagini generate da PHP GD non visualizzate in Firefox a causa di errori?
Gli sviluppatori dovrebbero controllare il codice di generazione di immagini per errori, assicurarsi che l'intestazione di tipo contenuto corretta venga inviata prima di qualsiasi dati sull'immagine e verificare che non vengano emessi errori o avvisi PHP. Anche l'uso di ob_clean () prima di produrre l'immagine può aiutare.

Yoann Bierling
Circa l'autore - Yoann Bierling
Yoann Bierling è un professionista di consulenza pubblica e digitale, che ha un impatto globale attraverso la competenza e l'innovazione nelle tecnologie. Appassionato di potenziare le persone e le organizzazioni a prosperare nell'era digitale, è spinto a fornire risultati eccezionali e guidare la crescita attraverso la creazione di contenuti educativi.

Creazione del sito web principale: iscrivi ora!

Trasforma la tua presenza digitale con il nostro corso completo di creazione di siti Web: inizia il tuo viaggio per diventare un esperto web oggi!

Iscriviti qui

Trasforma la tua presenza digitale con il nostro corso completo di creazione di siti Web: inizia il tuo viaggio per diventare un esperto web oggi!




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

lascia un commento