PHP GD genererad bild Bilden kan inte visas eftersom den innehåller fel i Firefox



När du skapar en bild med PHP, till exempel lägger till ett vattenstämpel på en serverlagrad bild, använder underkoden eller liknande en med JPEG istället för PNG, genereras kanske inte bilden alls och kasta ett fel som är direkt synligt på Firefox men inte på Chrome.

Denna typ av kod, trots att du arbetar på vissa servrar, kan nu fungera på andra, ibland av obskyra skäl. I mitt fall fungerade det helt fint lokalt, men producerat under fel på internet-servern, bilden kan inte visas eftersom den innehåller fel.

Frågan kan komma från flera anledningar, här är några av dem:

En utgång har redan ställts in tidigare.

Ett verkligt fel från bildgenerering.

Fel bildtyp används.

Bildbiblioteket är inte installerat.

En utgång har redan ställts in tidigare

Även om det inte är avsiktligt, kan det exempelvis vara så att andra tidigare skript innehåller utrymmen i slutet - för att undvika detta fel, se till att PHP, som PHP rekommenderar, inte stänger skript med PHP-endemärke?

Sedan, innan du använder huvudfunktionen, använd följande kod för att se till att alla tidigare inställda rubriker kasseras

Och även denna funktion för att säkerställa att ingen utmatning har genererats före rubriken och bilden

Detta löste problemet i mitt fall, och bilden visades korrekt igen.

Ett verkligt fel från bildgenerering

Om ett verkligt fel slöts under bildgenerering, se till att PHP är inställt på att visa alla möjliga typer av fel och kontrollera motsvarande loggar, för att kunna spåra det och lösa det.

Lär dig SEO -grunder: Anmäl dig idag!

Öka webbplatsens synlighet och trafik genom att behärska grunderna i SEO med vår lätt att följa grunderna.

Börja lära sig SEO

Öka webbplatsens synlighet och trafik genom att behärska grunderna i SEO med vår lätt att följa grunderna.

Följande kod kommer att göra PHP rapporterar alla fel i loggen:

Du kan då få reda på att vissa fel rapporterades, även om de inte kom fram i utdatahtml på grund av serverkonfiguration.

Fel bildtyp används

Se till att de bildtyper du använder är korrekta, till exempel med den här koden för att skilja mellan png och jpeg.

Se också till att rubriken är korrekt beroende på vilken produkt som används, beroende på vilken bildgenereringsfunktion som används

Bildbiblioteket är inte installerat

För att se till att bildbiblioteken är installerade. För att göra det, kör funktionen phpinfo (); i ett skript och kontrollera utmatningen för följande värde relaterat till PHP GD, grafikbiblioteket som används av funktioner som imagepng ();

Om det saknas paket beror sättet att lösa det på din lokala konfiguration, antingen genom att lägga till paketet med PEAR-kommandon eller använda webbhotell som är inbyggd lösning för paketinstallation.

Vad gör man när imagejpeg eller imagepng inte fungerar

I NotePad ++, öppna PHP-filen som kallar ImagePng-funktionen och spara den efter att ha gått till menyn Kodning> Konvertera till UTF-8 utan BOM.

I DreamWeaver, gå till Sidegenskaper> Titel / Kodning> avmarkera Inkluder Unicode Signature (BOM).

När PHP imagejpeg eller imagepng inte fungerar beror det troligtvis på att PHP-filen har kodats med en BOM, en Bill of Material, och därför skickas ytterligare information med bilden innan bilddata.

Funktionerna för PHP imagejpeg och PHP imagepng är funktionen som används för att skicka en bildkod direkt i serverns svar.

PHP - imagepng fungerar inte korrekt
PHP - imagepng-funktionen
PHP - imagejpeg funktion

Vanliga Frågor

Varför kan jag inte visa bilden skapad med PHP GD i min webbläsare?
Om din PHP GD -genererade bild inte visas och visar ett fel i webbläsaren, kan det bero på flera skäl som tidigare utgång som redan skickas, äkta fel under bildgenerering, med fel bildtyp eller GD -bildbiblioteket inte är installerad. Se till att ingen tidigare utgång skickas, kontrollera om äkta fel, verifiera bildtypen och rubriken och bekräfta GD -bibliotekets installation.
Hur kan utvecklare fixa frågan om PHP GD -genererade bilder som inte visas i Firefox på grund av fel?
Utvecklare bör kontrollera bildgenereringskoden för fel, se till att rätt innehållstyp-rubrik skickas innan någon bilddata och verifiera att inga PHP-fel eller varningar matas ut. Att använda ob_clean () innan bilden matar ut kan också hjälpa.

Yoann Bierling
Om författaren - Yoann Bierling
Yoann Bierling är en Web Publishing & Digital Consulting Professional, vilket gör en global inverkan genom expertis och innovation inom teknik. Han är passionerad om att stärka individer och organisationer att trivas i den digitala tidsåldern och drivs för att leverera exceptionella resultat och driva tillväxt genom skapande av utbildningsinnehåll.

Lär dig SEO -grunder: Anmäl dig idag!

Öka webbplatsens synlighet och trafik genom att behärska grunderna i SEO med vår lätt att följa grunderna.

Börja lära sig SEO

Öka webbplatsens synlighet och trafik genom att behärska grunderna i SEO med vår lätt att följa grunderna.




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

Lämna en kommentar