PHP GD gegenereerde afbeelding De afbeelding kan niet worden weergegeven omdat deze fouten bevat in Firefox



Bij het genereren van een afbeelding met PHP, bijvoorbeeld het toevoegen van een watermerk aan een server opgeslagen afbeelding, met behulp van de onderstaande code, of een vergelijkbare met JPEG in plaats van PNG, beeld mogelijk helemaal niet en gooi een fout, direct zichtbaar op Firefox, maar niet in Chrome.

Dit soort code kan, ondanks het werken op sommige servers, nu werken om een ​​andere, soms om onduidelijke redenen. In mijn geval werkte het prima lokaal, maar produceerde het onderstaande fout op de internetserver, de afbeelding kan niet worden weergegeven omdat deze fouten bevat.

Het probleem kan verschillende redenen hebben, hier zijn er een paar:

Er is al eerder een uitgang ingesteld.

Een echte fout bij het genereren van afbeeldingen.

Het verkeerde afbeeldingstype wordt gebruikt.

Afbeeldingsbibliotheek is niet geïnstalleerd.

Er is al eerder een uitgang ingesteld

Zelfs als het niet opzettelijk is, kan het bijvoorbeeld zo zijn dat andere vorige scripts aan het einde spaties bevatten - om deze fout te voorkomen, zorg er voor dat, zoals PHP aanbeveelt, scripts niet sluiten met een PHP-eindtag?>

Gebruik vervolgens de volgende code voordat u de header-functie gebruikt om ervoor te zorgen dat een eerder ingestelde koptekst wordt genegeerd

En ook deze functie om ervoor te zorgen dat er geen uitvoer is gegenereerd vóór de koptekst en afbeelding

Dit loste het probleem in mijn geval op en de afbeelding werd opnieuw correct weergegeven.

Een echte fout bij het genereren van afbeeldingen

Als er tijdens het genereren van de afbeelding een echte fout is gegenereerd, zorg er dan voor dat PHP zo is ingesteld dat alle mogelijke soorten fouten worden weergegeven en controleer de bijbehorende logboeken om het op te sporen en op te lossen.

Leer SEO Basics: Schrijf vandaag nog in!

Verhoog de zichtbaarheid en het verkeer van uw website door de basisprincipes van SEO te beheersen met onze eenvoudig te volgen basiscursus.

Begin met het leren van SEO

Verhoog de zichtbaarheid en het verkeer van uw website door de basisprincipes van SEO te beheersen met onze eenvoudig te volgen basiscursus.

De volgende code zorgt ervoor dat PHP alle fouten in het logboek rapporteert:

U kunt er dan achter komen dat sommige fouten zijn gerapporteerd, zelfs als deze niet in de uitvoer-HTML voorkomen vanwege de serverconfiguratie.

Het verkeerde afbeeldingstype wordt gebruikt

Controleer of de typen afbeeldingen die u gebruikt correct zijn, bijvoorbeeld door deze code te gebruiken om onderscheid te maken tussen png en jpeg.

Zorg er ook voor dat de kop correct is volgens de gebruikte uitvoer, afhankelijk van de gebruikte beeldgeneratiefunctie

Afbeeldingsbibliotheek is niet geïnstalleerd

Om ervoor te zorgen dat de afbeeldingenbibliotheken zijn geïnstalleerd. Hiervoor voert u de functie phpinfo () uit; in een script en controleer de uitvoer voor de volgende waarde gerelateerd aan PHP GD, de grafische bibliotheek die wordt gebruikt door functies zoals imagepng ();

In het geval dat pakketten ontbreken, hangt de manier om het op te lossen af ​​van uw lokale configuratie, ofwel door het pakket toe te voegen met PEAR-commando's of door de in de webhost ingebouwde oplossing te gebruiken voor pakketinstallatie.

Wat te doen als imagejpeg of imagepng niet werkt

Open in NotePad ++ het PHP-bestand dat de imagepng-functie aanroept en sla het op nadat je naar het menu Encoding> Convert to UTF-8 zonder BOM bent gegaan.

Ga in DreamWeaver naar Pagina-eigenschappen> Titel / codering> haal het vinkje weg voor Inclusief Unicode-handtekening (BOM).

Wanneer PHP imagejpeg of imagepng niet werkt, is dit waarschijnlijk te wijten aan het feit dat het PHP-bestand is gecodeerd met een stuklijst, een stuklijst, en daarom wordt extra informatie verzonden met de afbeelding vóór de afbeeldingsgegevens.

De PHP imagejpeg- en PHP-imagepng-functies zijn functies die worden gebruikt om een ​​afbeeldingscode direct in de serverreactie te verzenden.

PHP - imagepng werkt niet goed
PHP - imagepng-functie
PHP - imagejpeg-functie

Veelgestelde Vragen

Waarom kan ik de afbeelding die is gemaakt met PHP GD in mijn browser niet weergeven?
Als uw door PHP GD gegenereerde afbeelding niet wordt weergegeven en een fout in de browser weergeeft, kan dit te wijten zijn aan verschillende redenen, zoals eerdere output die al worden verzonden, echte fouten tijdens het genereren van afbeeldingen, met behulp van het verkeerde afbeeldingstype of de GD -afbeeldingsbibliotheek niet wordt geïnstalleerd. Zorg ervoor dat er geen eerdere uitvoer wordt verzonden, controleer op echte fouten, verifieer het afbeeldingstype en de header en bevestig de installatie van de GD -bibliotheek.
Hoe kunnen ontwikkelaars de kwestie van PHP GD gegenereerde afbeeldingen oplossen die niet in Firefox worden weergegeven vanwege fouten?
Ontwikkelaars moeten de beeldgeneratiecode op fouten controleren, ervoor zorgen dat de juiste koptekst van het inhoudstype wordt verzonden vóór eventuele afbeeldingsgegevens en controleren of er geen PHP-fouten of waarschuwingen worden uitgevoerd. Het gebruik van OB_Clean () Voordat u de afbeelding uitvoert, kan ook helpen.

Yoann Bierling
Over de auteur - Yoann Bierling
Yoann Bierling is een Web Publishing & Digital Consulting Professional en heeft een wereldwijde impact door expertise en innovatie in technologieën. Gepassioneerd over het in staat stellen van individuen en organisaties om te gedijen in het digitale tijdperk, wordt hij gedreven om uitzonderlijke resultaten te leveren en groei te stimuleren door het maken van educatieve inhoud.

Leer SEO Basics: Schrijf vandaag nog in!

Verhoog de zichtbaarheid en het verkeer van uw website door de basisprincipes van SEO te beheersen met onze eenvoudig te volgen basiscursus.

Begin met het leren van SEO

Verhoog de zichtbaarheid en het verkeer van uw website door de basisprincipes van SEO te beheersen met onze eenvoudig te volgen basiscursus.




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

laat een reactie achter