PHP GD generated image Изображението не може да се покаже, защото съдържа грешки в Firefox

При генериране на изображение с PHP, например добавянето на воден знак към запазена картина на сървър, използвайки по-долу код или подобно на JPEG вместо PNG, изображението може да не бъде генерирано изобщо и да хвърли грешка, директно видима в Firefox, но не в Chrome.

Този вид код, въпреки че работи върху някои сървъри, сега може да работи по други, понякога по неясни причини. В моя случай тя работи отлично локално, но се получава под грешка на интернет сървър, изображението не може да се показва, защото съдържа грешки.

Въпросът може да дойде от няколко причини, тук са някои от тях:

Изходът вече е зададен по-рано.

Оригинална грешка от генерирането на изображения.

Използва се грешен тип изображение.

Библиотеката с изображения не е инсталирана.

Изходът вече е зададен по-рано

Дори и да не е умишлено, може да се окаже, например, че други предишни скриптове съдържат интервали в края - за да избегнете тази грешка, уверете се, както PHP препоръчва, да не затворите скриптове с крайния маркер на PHP?>

След това, преди да използвате функцията на заглавката, използвайте следния код, за да се уверите, че всеки предварително зададен хедър е изхвърлен

И също така тази функция, за да сте сигурни, че не е генериран изход преди заглавната част и изображението

Това разреши проблема в моя случай и изображението бе показано правилно отново.

Оригинална грешка от генерирането на изображения

В случай, че по време на генериране на изображение е била хвърлена истинска грешка, уверете се, че PHP е настроен да покаже всички възможни грешки и да провери съответните журнали, за да може да го проследи и да го реши.

Следният код ще направи PHP отчети всички грешки в дневника:

Създаване на главен уебсайт: Запишете се сега!

Преобразувайте дигиталното си присъствие с нашия цялостен курс за създаване на уебсайтове - започнете пътуването си, за да станете уеб експерт днес!

Запишете се тук

Преобразувайте дигиталното си присъствие с нашия цялостен курс за създаване на уебсайтове - започнете пътуването си, за да станете уеб експерт днес!

След това можете да разберете, че са докладвани някои грешки, дори ако не са се появили в html изхода, поради конфигурацията на сървъра.

Използва се грешен тип изображение

Уверете се, че типовете изображения, които използвате, са верни, например като използвате този код, за да разграничите между png и jpeg.

Също така се уверете, че заглавието е правилно според използвания изход в зависимост от използваната функция за генериране на изображение

Библиотеката с изображения не е инсталирана

За да сте сигурни, че библиотеките с изображения са инсталирани. За тази цел изпълнете функцията phpinfo (); в скрипт и проверете изхода за следната стойност, свързана с PHP GD, графичната библиотека, която се използва от функции като imagepng ();

В случай, че пакетите липсват, начинът за разрешаването им зависи от вашата локална конфигурация, като добавите пакета с команди PEAR или използвате уеб-базираното решение за инсталиране на пакета.

Какво да правите, когато imagejpeg или imagepng не работи

В NotePad ++, отворете PHP файла, който извиква функцията imagepng и го запазете, след като отидете в меню Encoding> Convert to UTF-8 без BOM.

В DreamWeaver отидете на Page Properties> Title / Encoding> махнете отметката от Include Unicode Signature (BOM).

Когато PHP imagejpeg или imagepng не работи, това най-вероятно се дължи на факта, че PHP файлът е кодиран с BOM, Bill of Material, и следователно се изпраща допълнителна информация с изображението преди данните за изображението.

Функциите на PHP imagejpeg и PHP imagepng са функция, използвана за изпращане на код на картина директно в отговора на сървъра.

PHP - imagepng не работи правилно
Функция PHP - imagepng
Функция PHP - imagejpeg

Често Задавани Въпроси

Защо не мога да покажа изображението, създадено с PHP GD в моя браузър?
Ако вашето изображение, генерирано от PHP GD, не се показва и показва грешка в браузъра, това може да се дължи на няколко причини, като например предишен изход, който вече е изпратен, истински грешки по време на генериране на изображения, използвайки грешен тип изображение или библиотеката на GD изображение, не да се инсталира. Уверете се, че не се изпраща предишен изход, проверете за истински грешки, проверете типа на изображението и заглавката и потвърдете инсталацията на GD библиотеката.
Как разработчиците могат да поправят проблема с изображения, генерирани от PHP GD, които не се показват в Firefox поради грешки?
Разработчиците трябва да проверят кода за генериране на изображения за грешки, да се уверят, че правилната заглавка от типа на съдържанието се изпраща преди каквито и да било данни за изображението и да проверят, че не се извеждат грешки или предупреждения за PHP. Използването на ob_clean () преди извеждането на изображението също може да помогне.

Yoann Bierling
За автора - Yoann Bierling
Yoann Bierling е специалист по уеб публикуване и цифрови консултации, което прави глобално въздействие чрез експертиза и иновации в технологиите. Страстен от овластяването на хората и организациите да процъфтяват в дигиталната ера, той е накаран да постигне изключителни резултати и да постигне растеж чрез създаване на образователно съдържание.

Създаване на главен уебсайт: Запишете се сега!

Преобразувайте дигиталното си присъствие с нашия цялостен курс за създаване на уебсайтове - започнете пътуването си, за да станете уеб експерт днес!

Запишете се тук

Преобразувайте дигиталното си присъствие с нашия цялостен курс за създаване на уебсайтове - започнете пътуването си, за да станете уеб експерт днес!




Коментари (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
بالضبط ما كنت أبحث عنه ، مثالي

Оставете коментар