PHP GD-gegenereerde beeld Die beeld kan nie vertoon word nie, want dit bevat foute in Firefox



As jy 'n prentjie met PHP genereer, byvoorbeeld om 'n watermerk by 'n bediener gestoor prent toe te voeg, onder die kode of soortgelyke met JPEG in plaas van PNG, word die beeld glad nie gegenereer nie en word 'n fout direk op Firefox vertoon, maar nie op Chrome.

Hierdie soort kode, ten spyte van die werk op sommige bedieners, kan nou werk op sommige ander, soms vir duistere redes. In my geval het dit fyn plaaslik gewerk, maar onder die fout op die internetbediener geproduseer. Die prent kan nie vertoon word nie omdat dit foute bevat.

Die probleem kan uit verskeie redes kom, hier is sommige van hulle:

'N Uitset is reeds voorheen gestel.

'N werklike fout van die beeld generasie.

Die verkeerde prentipe word gebruik.

Beeldbiblioteek is nie geïnstalleer nie.

'N Uitset is reeds voorheen gestel

Selfs as dit nie doelbewus is nie, kan dit byvoorbeeld wees dat ander vorige skrifte op die einde spasies bevat. Om hierdie fout te voorkom, maak seker dat, soos PHP aanbeveel, nie skripte met PHP-eindetikette sluit nie

Gebruik dan die volgende kode voordat u die koptekstfunksie gebruik om seker te maak dat enige voorheen ingestelde kopskrif weggegooi word

En ook hierdie funksie om seker te maak dat daar geen uitset voor die kop en beeld gegenereer is nie

Dit het die probleem in my geval opgelos en die prent is weer korrek vertoon.

'N werklike fout van die beeld generasie

As 'n werklike fout tydens die generasie van die beeld gegooi is, maak seker dat PHP is ingestel om alle moontlike soort foute te vertoon en die ooreenstemmende logs na te gaan, om dit op te spoor en op te los.

Meesterwebwerfskepping: skryf nou in!

Transformeer u digitale teenwoordigheid met ons uitgebreide kursus vir die skepping van die webwerf - Begin u reis om vandag 'n webkenner te word!

Skryf hier in

Transformeer u digitale teenwoordigheid met ons uitgebreide kursus vir die skepping van die webwerf - Begin u reis om vandag 'n webkenner te word!

Volgende kode sal PHP verslae maak van alle foute in die logboek:

U kan dan uitvind dat daar foute aangemeld is, selfs al is dit nie in die uitvoerhtml vertoon nie, as gevolg van die bedienerkonfigurasie.

Die verkeerde prentipe word gebruik

Maak seker dat die prentipes wat u gebruik, korrek is, byvoorbeeld met behulp van hierdie kode om te onderskei tussen png en jpeg.

Maak ook seker dat die kopkop korrek is volgens die uitset wat gebruik word, afhangende van die beeldgenereringsfunksie wat gebruik word

Beeldbiblioteek is nie geïnstalleer nie

Om seker te maak dat die beeldbiblioteke geïnstalleer is. Om dit te doen, voer die funksie phpinfo () uit; in 'n skrip en kontroleer die uitset vir die volgende waarde wat verband hou met PHP GD, die grafiese biblioteek wat gebruik word deur funksies soos imagepng ();

In die geval dat pakkette ontbreek, hang die manier af om dit op te los, afhangende van jou plaaslike konfigurasie, óf deur die pakket te gebruik met behulp van PEAR-opdragte, óf deur gebruik te maak van die webhost ingeboude oplossing vir pakketinstallasie.

Wat om te doen wanneer imagejpeg of imagepng nie werk nie

In NotePad + +, maak die PHP-lêer oop wat die imagepng-funksie noem, en stoor dit na die kieslys Kodering> Skakel na UTF-8 sonder BOM.

In DreamWeaver, gaan na Page Properties> Titel / Encoding> uncheck Include Unicode Signature (BOM).

As PHP imagejpeg of imagepng nie werk nie, is dit waarskynlik die gevolg van die feit dat die PHP-lêer met 'n BOM, 'n Wetsontwerp, gekodeer is en daarom word ekstra inligting met die prent voor die beelddata gestuur.

Die PHP imagejpeg en PHP imagepng funksies is die funksie wat gebruik word om 'n foto kode direk in die bediener reaksie te stuur.

PHP - imagepng werk nie behoorlik nie
PHP - imagepng funksie
PHP - imagejpeg funksie

Gereeld Gevra Vrae

Waarom kan ek nie die beeld wat met PHP GD in my blaaier geskep is, vertoon nie?
As u PHP GD -gegenereerde beeld nie vertoon nie en 'n fout in die blaaier toon, kan dit te wyte wees aan verskeie redes soos die vorige uitset wat reeds gestuur is, opregte foute tydens beeldgenerering, die gebruik van die verkeerde beeldtipe of die GD -beeldbiblioteek nie geïnstalleer word. Sorg dat geen vorige uitset gestuur word nie, kyk of dit regte foute is, die beeldtipe en kopstuk verifieer en die installasie van die GD -biblioteek bevestig.
Hoe kan ontwikkelaars die probleem van PHP GD -gegenereerde beelde wat nie in Firefox vertoon word nie, oplos weens foute?
Ontwikkelaars moet die beeldgenereringskode vir foute nagaan, seker maak dat die regte inhoud-tipe kop voor enige beelddata gestuur word, en verifieer dat geen PHP-foute of waarskuwings uitgevoer word nie. Die gebruik van OB_Clean () voordat u die beeld uitvoer, kan ook help.

Yoann Bierling
Oor die skrywer - Yoann Bierling
Yoann Bierling is 'n Web Publishing & Digital Consulting Professional, wat 'n wêreldwye impak maak deur kundigheid en innovasie in tegnologie. Hy is passievol oor die bemagtiging van individue en organisasies om in die digitale era te floreer. Hy word gedrewe om buitengewone resultate te lewer en om groei deur die skepping van opvoedkundige inhoud te dryf.

Meesterwebwerfskepping: skryf nou in!

Transformeer u digitale teenwoordigheid met ons uitgebreide kursus vir die skepping van die webwerf - Begin u reis om vandag 'n webkenner te word!

Skryf hier in

Transformeer u digitale teenwoordigheid met ons uitgebreide kursus vir die skepping van die webwerf - Begin u reis om vandag 'n webkenner te word!




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

Los kommentaar