Imaginea generată de PHP GD Imaginea nu poate fi afișată deoarece conține erori în Firefox



Atunci când se generează o imagine cu PHP, de exemplu adăugând un filigran pe o imagine stocată de server, utilizând codul de mai jos sau o imagine similară cu JPEG în loc de PNG, este posibil ca imaginea să nu fie generată deloc și să arunce o eroare, vizibilă direct în Firefox, dar nu pe Chrome.

Acest tip de cod, în ciuda faptului că lucrează la unele servere, ar putea lucra acum pe alte motive, uneori din motive obscure. În cazul meu, a funcționat perfect pe plan local, dar a produs o eroare de mai jos pe serverul de internet, imaginea nu poate fi afișată deoarece conține erori.

Problema poate veni din mai multe motive, aici sunt câteva dintre ele:

O ieșire a fost deja stabilită anterior.

O eroare reală de la generarea de imagini.

Se folosește un tip de imagine greșit.

Biblioteca de imagini nu este instalată.

O ieșire a fost deja stabilită anterior

Chiar dacă nu intenționat, ar putea fi cazul, de exemplu, că alte script-uri anterioare conțineau spații la sfârșit - pentru a evita această eroare, asigurați-vă, așa cum recomandă PHP, să nu închideți scripturile cu tag-ul sfârșitului PHP?

Apoi, înainte de a utiliza funcția antet, utilizați următorul cod pentru a vă asigura că antetul setat anterior este eliminat

Și, de asemenea, această funcție pentru a vă asigura că nici o ieșire nu a fost generată înainte de antet și imagine

Acest lucru a rezolvat problema în cazul meu și imaginea a fost corect afișată din nou.

O eroare reală de la generarea de imagini

În cazul în care a fost aruncată o eroare reală în timpul generării de imagini, asigurați-vă că PHP este setat să afișeze toate tipurile de erori posibile și să verifice jurnalele corespunzătoare pentru a putea urmări și rezolva problema.

Următorul cod va face ca PHP să raporteze toate erorile din jurnal:

Aflați elementele de bază SEO: Înscrieți -vă astăzi!

Sporiți vizibilitatea și traficul site-ului dvs., stăpânind elementele fundamentale ale SEO cu cursul nostru de bază ușor de urmărit.

Începeți să învățați SEO

Sporiți vizibilitatea și traficul site-ului dvs., stăpânind elementele fundamentale ale SEO cu cursul nostru de bază ușor de urmărit.

S-ar putea atunci să aflați că au fost raportate unele erori, chiar dacă acestea nu apar în html de ieșire, datorită configurației serverului.

Se folosește un tip de imagine greșit

Asigurați-vă că tipurile de imagini pe care le utilizați sunt corecte, de exemplu, utilizând acest cod pentru a distinge între png și jpeg.

De asemenea, asigurați-vă că antetul este corect în funcție de ieșirea utilizată, în funcție de funcția de generare a imaginii utilizată

Biblioteca de imagini nu este instalată

Pentru a vă asigura că sunt instalate bibliotecile de imagini. Pentru a face acest lucru, executați funcția phpinfo (); într-un script și verificați ieșirea pentru următoarea valoare legată de PHP GD, biblioteca grafică utilizată de funcții precum imagepng ();

În cazul în care pachetele lipsesc, modul de rezolvare depinde de configurația dvs. locală, fie prin adăugarea pachetului folosind comenzi PEAR, fie prin utilizarea soluției web gazdă construită pentru instalarea pachetului.

Ce trebuie să faceți când imagejpeg sau imagepng nu funcționează

În Notepad ++, deschideți fișierul PHP care apelează funcția imagepng și salvați-l după ce mergeți la meniul Encoding> Convert to UTF-8 fără BOM.

În DreamWeaver, accesați Proprietăți pagină> Title / Encoding> debifați Includeți semnătura Unicode (BOM).

Când PHP imagejpeg sau imagepng nu funcționează, este cel mai probabil datorită faptului că fișierul PHP a fost codificat cu un BOM, un Bill Of Material și, prin urmare, sunt trimise informații suplimentare cu imaginea înainte de datele de imagine.

Funcțiile PHP imagejpeg și PHP imagepng sunt folosite pentru a trimite un cod de imagine direct în răspunsul serverului.

PHP - imagepng nu funcționează corect
Funcția PHP - imagepng
Funcția PHP - imagejpeg

Întrebări Frecvente

De ce nu pot afișa imaginea creată cu PHP GD în browserul meu?
Dacă imaginea generată de PHP GD nu se afișează și arată o eroare în browser, s -ar putea să se datoreze mai multor motive, cum ar fi ieșirea anterioară, deja trimise, erori autentice în timpul generarii de imagini, folosind tipul de imagine greșit sau biblioteca de imagini GD nu fiind instalat. Asigurați -vă că nu este trimisă o ieșire anterioară, verificați erorile autentice, verificați tipul de imagine și antetul și confirmați instalarea bibliotecii GD.
Cum pot dezvoltatorii să rezolve problema imaginilor generate de PHP GD care nu se afișează în Firefox din cauza erorilor?
Dezvoltatorii ar trebui să verifice erorile de generare a imaginilor, să se asigure că antetul corect de tip conținut este trimis înainte de orice date de imagine și să verifice dacă nu sunt rezultate erori sau avertismente PHP. Utilizarea ob_clean () înainte de a ieși imaginea poate fi de asemenea ajutată.

Yoann Bierling
Despre autor - Yoann Bierling
Yoann Bierling este un profesionist de publicare și consultanță digitală, ceea ce are un impact global prin expertiză și inovație în tehnologii. Pasionat de abilitarea persoanelor și organizațiilor să prospere în era digitală, el este determinat să ofere rezultate excepționale și să crească creșterea prin crearea de conținut educațional.

Aflați elementele de bază SEO: Înscrieți -vă astăzi!

Sporiți vizibilitatea și traficul site-ului dvs., stăpânind elementele fundamentale ale SEO cu cursul nostru de bază ușor de urmărit.

Începeți să învățați SEO

Sporiți vizibilitatea și traficul site-ului dvs., stăpânind elementele fundamentale ale SEO cu cursul nostru de bază ușor de urmărit.




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

Lasa un comentariu