PHP GD generert bilde Bildet kan ikke vises fordi det inneholder feil i Firefox



Når du genererer et bilde med PHP, for eksempel å legge til et vannmerke til et server lagret bilde, ved hjelp av underkode eller lignende med JPEG i stedet for PNG, kan det hende at bildet ikke genereres og kaste en feil, som er direkte synlig på Firefox, men ikke på Chrome.

Denne typen kode, til tross for å jobbe på noen servere, kan nå fungere på noen andre, noen ganger av uklare grunner. I mitt tilfelle fungerte det perfekt fint lokalt, men produsert under feil på internett-server, bildet kan ikke vises fordi det inneholder feil.

Problemet kan komme fra flere grunner, her er noen av dem:

En utgang er allerede angitt tidligere.

En ekte feil fra bildegenerering.

Feil bildetype brukes.

Bildebiblioteket er ikke installert.

En utgang er allerede angitt tidligere

Selv om det ikke er forsettlig, kan det være tilfelle at andre tidligere skript inneholdt mellomrom på slutten - for å unngå denne feilen, må du, som PHP anbefaler, ikke lukke skript med PHP-endemerker?>

Deretter må du bruke følgende kode før du bruker topptekstfunksjonen for å sikre at eventuelle tidligere innstilte overskrifter kastes

Og også denne funksjonen for å sikre at ingen utgang er generert før overskriften og bildet

Dette løste problemet i mitt tilfelle, og bildet ble riktig vist igjen.

En ekte feil fra bildegenerering

Hvis en ekte feil ble kastet under bildegenerering, må du kontrollere at PHP er angitt for å vise alle mulige feiltyper, og sjekke tilhørende logger for å kunne spore det og løse det.

Lær SEO Basics: Registrer deg i dag!

Øk nettstedets synlighet og trafikk ved å mestre det grunnleggende i SEO med vårt grunnleggende grunnleggende kurs.

Begynn å lære SEO

Øk nettstedets synlighet og trafikk ved å mestre det grunnleggende i SEO med vårt grunnleggende grunnleggende kurs.

Følgende kode vil gjøre PHP rapporter alle feil i loggen:

Du kan da finne ut at noen feil ble rapportert, selv om de ikke ble vist i utdatamaterialet, på grunn av serverkonfigurasjonen.

Feil bildetype brukes

Kontroller at bildetyper du bruker er riktige, for eksempel ved hjelp av denne koden for å skille mellom png og jpeg.

Kontroller også at toppteksten er riktig i henhold til utgangene som brukes, avhengig av hvilken bildegenereringsfunksjon som brukes

Bildebiblioteket er ikke installert

For å være sikker på at bildebiblioteker er installert. For å gjøre det, kjør funksjonen phpinfo (); i et skript, og sjekk utgangen for følgende verdi relatert til PHP GD, grafikkbiblioteket som brukes av funksjoner som imagepng ();

Hvis pakker mangler, avhenger måten å løse det på, på grunn av din lokale konfigurasjon, enten ved å legge til pakken ved hjelp av PEAR-kommandoer, eller ved hjelp av webverten innebygd løsning for pakkeinstallasjon.

Hva å gjøre når imagejpeg eller imagepng ikke virker

I NotePad ++, åpne PHP-filen som kaller ImagePng-funksjonen, og lagre den etter å ha gått til menyen Koding> Konverter til UTF-8 uten BOM.

I DreamWeaver, gå til Sideegenskaper> Tittel / Koding> fjern merket Inkluder Unicode Signature (BOM).

Når PHP imagejpeg eller imagepng ikke virker, skyldes det sannsynligvis at PHP-filen er kodet med en BOM, en faktura, og derfor blir ytterligere informasjon sendt med bildet før bildedataene.

PHP imagejpeg og PHP imagepng-funksjonene er funksjonen som brukes til å sende en bildekode direkte i serverresponsen.

PHP - imagepng virker ikke riktig
PHP - imagepng funksjon
PHP - imagejpeg funksjon

Ofte Stilte Spørsmål

Hvorfor kan jeg ikke vise bildet som er opprettet med PHP GD i nettleseren min?
Hvis ditt PHP GD -genererte bilde ikke vises og viser en feil i nettleseren, kan det skyldes flere grunner som tidligere utdata som allerede er sendt, ekte feil under generering blir installert. Forsikre deg om at ingen tidligere utdata blir sendt, sjekk for ekte feil, bekrefte bildetypen og overskriften, og bekreft GD -bibliotekets installasjon.
Hvordan kan utviklere løse problemet med PHP GD -genererte bilder som ikke vises i Firefox på grunn av feil?
Utviklere bør sjekke bildegenereringskoden for feil, sikre at riktig overskrift av innholdstypen blir sendt før noen bildedata, og bekrefte at ingen PHP-feil eller advarsler blir gitt ut. Å bruke ob_clean () før du sender ut bildet kan også hjelpe.

Yoann Bierling
Om forfatteren - Yoann Bierling
Yoann Bierling er en nettpublisering og digital rådgivende profesjonell, noe som gjør en global innvirkning gjennom kompetanse og innovasjon innen teknologier. Han er lidenskapelig opptatt av å styrke enkeltpersoner og organisasjoner til å trives i den digitale tidsalderen, og blir drevet til å levere eksepsjonelle resultater og drive vekst gjennom oppretting av pedagogisk innhold.

Lær SEO Basics: Registrer deg i dag!

Øk nettstedets synlighet og trafikk ved å mestre det grunnleggende i SEO med vårt grunnleggende grunnleggende kurs.

Begynn å lære SEO

Øk nettstedets synlighet og trafikk ved å mestre det grunnleggende i SEO med vårt grunnleggende grunnleggende kurs.




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

Legg igjen en kommentar