Generovaný obrázok PHP GD Obrázok sa nedá zobraziť, pretože obsahuje chyby vo Firefoxe



Pri vytváraní obrázka s PHP, napríklad pridaním vodoznaku na server uložený obrázok, použitím nižšie uvedeného kódu alebo podobného súboru vo formáte JPEG namiesto PNG, nemusí byť obraz generovaný vôbec a hádzať chybu priamo viditeľnú v prehliadači Firefox, ale nie v prehliadači Chrome.

Takýto kód, napriek tomu, že pracuje na niektorých serveroch, môže teraz pracovať na niektorých iných, niekedy z nejasných dôvodov. V mojom prípade to fungovalo dokonale lokálne, ale na webovom serveri sa vyskytla chyba, obrázok sa nedá zobraziť, pretože obsahuje chyby.

Problém môže prísť z niekoľkých dôvodov, tu sú niektoré z nich:

Výstup bol už predtým nastavený.

Skutočná chyba pri vytváraní obrázkov.

Používa sa nesprávny typ obrázka.

Knižnica obrázkov nie je nainštalovaná.

Výstup bol už predtým nastavený

Aj keď to nie je úmyselné, môže to byť napríklad prípad, že ostatné predchádzajúce skripty obsahovali medzery na konci - aby sa zabránilo tejto chybe, uistite sa, ako odporúča PHP, že neuzavrieť skripty s koncovou značkou PHP?>

Potom pred použitím funkcie hlavičky použite nasledujúci kód, aby ste sa uistili, že predtým nastavená hlavička je zlikvidovaná

A tiež túto funkciu, aby sme sa uistili, že pred záhlavím a obrázkom nebol vygenerovaný žiadny výstup

Tento problém som vyriešil v mojom prípade a obrázok bol opäť správne zobrazený.

Skutočná chyba pri vytváraní obrázkov

V prípade, že počas vytvárania obrázkov došlo k skutočnej chybe, skontrolujte, či je PHP nastavené na zobrazenie všetkých možných druhov chýb a skontrolujte príslušné záznamy, aby ste ich mohli sledovať a vyriešiť.

Creation Web Creation: Zaregistrujte sa teraz!

Transformujte svoju digitálnu prítomnosť pomocou nášho komplexného kurzu vytvárania webových stránok - začnite svoju cestu, aby ste sa stali dnes webovým odborníkom!

Zaregistrovať sa tu

Transformujte svoju digitálnu prítomnosť pomocou nášho komplexného kurzu vytvárania webových stránok - začnite svoju cestu, aby ste sa stali dnes webovým odborníkom!

Nasledujúci kód bude PHP hlási všetky chyby v denníku:

Potom by ste mohli zistiť, že boli hlásené niektoré chyby, aj keď sa nezobrazili vo výstupnom html, kvôli konfigurácii servera.

Používa sa nesprávny typ obrázka

Uistite sa, že typy obrázkov, ktoré používate, sú správne, napríklad pomocou tohto kódu rozlišovať medzi png a jpeg.

Taktiež sa uistite, že záhlavie je správne podľa použitého výstupu v závislosti od použitej funkcie generovania obrazu

Knižnica obrázkov nie je nainštalovaná

Uistite sa, či sú knižnice obrázkov nainštalované. Ak to chcete urobiť, spustite funkciu phpinfo (); v skripte a skontrolujte výstup pre nasledujúcu hodnotu týkajúcu sa PHP GD, grafickej knižnice, ktorá sa používa funkciami ako imagepng ();

V prípade, že balíky chýbajú, spôsob riešenia závisí od vašej lokálnej konfigurácie, a to buď pridaním balíka pomocou príkazov PEAR, alebo použitím webového hostiteľa vstavaného riešenia pre inštaláciu balíka.

Čo robiť, keď imagejpeg alebo imagepng nefunguje

V programe Poznámkový blok ++ otvorte súbor PHP, ktorý volá funkciu imagepng, a uložte ho po prechode do ponuky Kódovanie> Previesť na UTF-8 bez kusovníka.

V aplikácii DreamWeaver prejdite na položku Vlastnosti stránky> Názov / Kódovanie> Zrušiť začiarknutie políčka Zahrnúť podpis Unicode (BOM).

Keď PHP imagejpeg alebo imagepng nefunguje, je to s najväčšou pravdepodobnosťou spôsobené tým, že súbor PHP bol zakódovaný kusovníkom, kusovníkom, a preto sa s obrazom odosielajú ďalšie informácie pred obrazové údaje.

PHP imagejpeg a PHP imagepng funkcie sú používané na posielanie obrazového kódu priamo v odpovedi servera.

PHP - imagepng nefunguje správne
PHP - funkcia imagepng
PHP - funkcia imagejpeg

Často Kladené Otázky

Prečo nemôžem zobraziť obrázok vytvorený pomocou PHP GD v mojom prehliadači?
Ak sa váš obrázok generovaný PHP GD nezobrazuje a zobrazuje chybu v prehliadači, môže to byť z niekoľkých dôvodov, ako je už predchádzajúci výstup, ktorý už bol odoslaný, originálne chyby počas generovania obrázka, pomocou nesprávneho typu obrázka alebo knižnice GD Image Library nie nainštalovaný. Uistite sa, že nie je odoslaný žiadny predchádzajúci výstup, skontrolujte skutočné chyby, overte typ obrázka a hlavičku a potvrďte inštaláciu knižnice GD.
Ako môžu vývojári opraviť problém obrázkov generovaných PHP GD, ktoré sa v Firefoxe nezobrazujú kvôli chybám?
Vývojári by mali skontrolovať kód generovania obrázkov, či nie sú chybové, zabezpečte, aby sa pred akýmikoľvek obrázkovými údajmi odoslala správna hlavička typu obsahu a overte, či sa nevyjadrujú žiadne chyby alebo varovania PHP. Použitie OB_Clean () pred výstupom obrázka môže tiež pomôcť.

Yoann Bierling
O autorovi - Yoann Bierling
Yoann Bierling je profesionál z vydavateľstva a digitálneho poradenstva na webe, ktorý má globálny vplyv prostredníctvom odborných znalostí a inovácií v technológiách. Je vášnivý z posilnenia postavenia jednotlivcov a organizácií, aby prosperovali v digitálnom veku, je nútený prinášať výnimočné výsledky a zvyšovať rast prostredníctvom tvorby vzdelávacieho obsahu.

Creation Web Creation: Zaregistrujte sa teraz!

Transformujte svoju digitálnu prítomnosť pomocou nášho komplexného kurzu vytvárania webových stránok - začnite svoju cestu, aby ste sa stali dnes webovým odborníkom!

Zaregistrovať sa tu

Transformujte svoju digitálnu prítomnosť pomocou nášho komplexného kurzu vytvárania webových stránok - začnite svoju cestu, aby ste sa stali dnes webovým odborníkom!




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

Zanechať komentár