PHP GD generiertes Bild Das Bild kann nicht angezeigt werden, da es in Firefox Fehler enthält



Wenn ein Bild mit PHP erzeugt wird, zum Beispiel ein Wasserzeichen zu einem Server gespeicherten Bild hinzufügen, unter Verwendung von Code oder ähnlichem mit JPEG anstelle von PNG, wird das Bild möglicherweise überhaupt nicht erzeugt und erzeugt einen Fehler, der direkt in Firefox sichtbar ist auf Chrome.

Diese Art von Code kann trotz der Arbeit auf einigen Servern nun auf anderen, manchmal aus obskuren Gründen funktionieren. In meinem Fall funktionierte es tadellos lokal, aber produziert unten Fehler auf Internet-Server, das Bild kann nicht angezeigt werden, weil es Fehler enthält.

Das Problem kann verschiedene Ursachen haben, hier einige davon:

Eine Ausgabe wurde bereits vorher festgelegt.

Ein echter Fehler bei der Bilderzeugung.

Der falsche Bildtyp wird verwendet.

Bildbibliothek ist nicht installiert.

Eine Ausgabe wurde bereits vorher festgelegt

Auch wenn es nicht beabsichtigt ist, könnte es beispielsweise der Fall sein, dass andere Skripte am Ende Leerzeichen enthielten - um diesen Fehler zu vermeiden, stellen Sie sicher, dass PHP Skripte nicht mit PHP End-Tags geschlossen werden

Verwenden Sie dann den folgenden Code, bevor Sie die Header-Funktion verwenden, um sicherzustellen, dass alle zuvor festgelegten Header verworfen werden

Und auch diese Funktion, um sicherzustellen, dass keine Ausgabe vor dem Header und Image generiert wurde

Dies löste das Problem in meinem Fall, und das Bild wurde wieder korrekt angezeigt.

Ein echter Fehler bei der Bilderzeugung

Falls während der Bilderzeugung ein echter Fehler aufgetreten ist, vergewissern Sie sich, dass PHP alle möglichen Arten von Fehlern anzeigt, und überprüfen Sie die entsprechenden Protokolle, um sie aufzuspüren und zu lösen.

Der folgende Code wird dazu führen, dass PHP alle Fehler im Protokoll meldet:

Lernen Sie SEO -Grundlagen: Melden Sie sich noch heute an!

Steigern Sie die Sichtbarkeit und den Verkehr Ihrer Website, indem Sie die Grundlagen der SEO mit unserem leicht zu befolgenden Basics-Kurs beherrschen.

Fangen Sie an, SEO zu lernen

Steigern Sie die Sichtbarkeit und den Verkehr Ihrer Website, indem Sie die Grundlagen der SEO mit unserem leicht zu befolgenden Basics-Kurs beherrschen.

Sie können dann feststellen, dass einige Fehler gemeldet wurden, auch wenn sie aufgrund der Serverkonfiguration nicht im Ausgabe-HTML erschienen sind.

Der falsche Bildtyp wird verwendet

Stellen Sie sicher, dass die verwendeten Bildtypen korrekt sind, zum Beispiel mit diesem Code, um zwischen png und jpeg zu unterscheiden.

Stellen Sie außerdem sicher, dass die Kopfzeile entsprechend der verwendeten Ausgabe korrekt ist, abhängig von der verwendeten Bilderstellungsfunktion

Bildbibliothek ist nicht installiert

Um sicherzustellen, dass die Bildbibliotheken installiert sind. Führen Sie dazu die Funktion phpinfo (); in einem Skript, und überprüfen Sie die Ausgabe für den folgenden Wert in Bezug auf PHP GD, die Grafikbibliothek, die von Funktionen wie imagepng () verwendet wird;

Falls Pakete fehlen, hängt die Lösung davon ab, ob Sie das Paket mithilfe von PEAR-Befehlen hinzufügen oder den integrierten Webhost für die Paketinstallation verwenden.

Was ist zu tun, wenn imagejpeg oder imagepng nicht funktioniert?

Öffnen Sie in NotePad ++ die PHP-Datei, die die imagepng-Funktion aufruft, und speichern Sie sie, nachdem Sie das Menü Encoding> Convert to UTF-8 without BOM aufgerufen haben.

Wechseln Sie in DreamWeaver zu Seiteneigenschaften> Titel / Kodierung> und deaktivieren Sie die Option Include Unicode Signature (BOM).

Wenn PHP imagejpeg oder imagepng nicht funktioniert, liegt dies höchstwahrscheinlich daran, dass die PHP-Datei mit einer Stückliste und einer Stückliste codiert wurde. Daher werden vor den Bilddaten zusätzliche Informationen mit dem Bild gesendet.

Die Funktionen PHP imagejpeg und PHP imagepng dienen zum Senden eines Bildcodes direkt in der Serverantwort.

PHP - imagepng funktioniert nicht richtig
PHP - Imagepng-Funktion
PHP - imagejpeg-Funktion

Häufig Gestellte Fragen

Warum kann ich das mit PHP GD in meinem Browser erstellte Bild nicht anzeigen?
Wenn Ihr PHP -generiertes Bild nicht angezeigt wird und einen Fehler im Browser anzeigt, kann dies auf mehrere Gründe liegen, aus denen die bereits gesendete vorherige Ausgabe, echte Fehler während der Bildgenerierung, mit dem falschen Bildtyp oder der GD -Bildbibliothek nicht verwendet werden. wird installiert. Stellen Sie sicher, dass keine vorherige Ausgabe gesendet wird, prüfen Sie, ob echte Fehler und die Bildtyp und den Header verifizieren und die Installation der GD -Bibliothek bestätigen.
Wie können Entwickler das Problem von PHP -GD -erzeugten Bildern beheben, die aufgrund von Fehlern nicht in Firefox angezeigt werden?
Entwickler sollten den Bildgenerierungscode auf Fehler überprüfen, sicherstellen, dass der korrekte Header vom Typ Inhalt vor den Bilddaten gesendet wird, und überprüfen, ob keine PHP-Fehler oder Warnungen ausgegeben werden. Die Verwendung von OB_Clean (), bevor das Bild ausgibt, kann auch helfen.

Yoann Bierling
Über den Autor - Yoann Bierling
Yoann Bierling ist ein Professionell für Web Publishing & Digital Consulting, der sich durch Fachwissen und Innovationen in Technologien global auswirkt. Er leidenschaftlich für die Stärkung von Einzelpersonen und Organisationen, um im digitalen Zeitalter gedeihen zu können, ist ermächtig, um außergewöhnliche Ergebnisse zu erzielen und das Wachstum durch Bildungsinhalte zu fördern.

Lernen Sie SEO -Grundlagen: Melden Sie sich noch heute an!

Steigern Sie die Sichtbarkeit und den Verkehr Ihrer Website, indem Sie die Grundlagen der SEO mit unserem leicht zu befolgenden Basics-Kurs beherrschen.

Fangen Sie an, SEO zu lernen

Steigern Sie die Sichtbarkeit und den Verkehr Ihrer Website, indem Sie die Grundlagen der SEO mit unserem leicht zu befolgenden Basics-Kurs beherrschen.




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

Hinterlasse einen Kommentar