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 inVolgende 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 niePHP - 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 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