Зображення з PHP GD Зображення не може відображатися, оскільки воно містить помилки в Firefox



Під час створення зображення за допомогою PHP, наприклад, додавання водяного знака до картинки, збереженої на сервері, за допомогою коду нижче або аналогічного з файлами JPEG замість PNG, зображення може не створюватися взагалі та виникати з помилкою, безпосередньо видимим у Firefox, але не на Chrome

Цей тип коду, незважаючи на роботу на деяких серверах, може тепер працювати на деяких інших, іноді за неясними причинами. У моєму випадку, він працював ідеально добре на місці, але вироблявся нижче помилки на інтернет-сервері, зображення не може відображатися, оскільки він містить помилки.

Питання може бути з кількох причин, ось деякі з них:

Вихід вже був встановлений раніше.

Справжня помилка під час створення зображення.

Неправильний тип зображення використовується.

Бібліотека зображень не встановлена.

Вихід вже був встановлений раніше

Навіть якщо це не навмисно, може бути, наприклад, що наприкінці інших попередніх скриптів було пробіли - щоб уникнути цієї помилки, переконайтеся, що PHP рекомендує не закривати скрипти з кінцевим тегом PHP?>

Потім перед використанням функції заголовка використовуйте такий код, щоб переконатися, що будь-який попередньо встановлений заголовок відкидається

А також цю функцію, щоб переконатися, що перед заголовком та зображенням не було створено жодного виводу

Це вирішило проблему в моєму випадку, і зображення було правильно відображене знову.

Справжня помилка під час створення зображення

У випадку, коли під час створення зображення виникла реальна помилка, переконайтеся, що PHP встановлено для відображення всіх можливих видів помилок і перевірте відповідні журнали, щоб мати змогу відстежувати його та вирішити.

Наступний код зроблять PHP повідомленнями про всі помилки в журналі:

Вивчіть основи SEO: зареєструйтесь сьогодні!

Підвищіть видимість та трафік вашого веб-сайту, освоюючи основи SEO за допомогою нашого курсу основних основ.

Почніть вивчати SEO

Підвищіть видимість та трафік вашого веб-сайту, освоюючи основи SEO за допомогою нашого курсу основних основ.

Ви можете з'ясувати, що деякі помилки були зареєстровані, навіть якщо вони не з'являються у вихідному html, через конфігурацію сервера.

Неправильний тип зображення використовується

Переконайтеся, що типи зображень, які ви використовуєте, правильні, наприклад, використовуючи цей код, щоб відрізняти png та jpeg.

Також переконайтеся, що заголовок правильний відповідно до використовуваного виходу, залежно від використовуваної функції генерації зображень

Бібліотека зображень не встановлена

Переконайтеся, що бібліотеки зображень встановлені. Для цього запустіть функцію phpinfo (); у скрипті та перевірте вивід для наступного значення, пов'язаного з PHP GD, графічною бібліотекою, яка використовується такими функціями, як imagepng ();

У випадку відсутності пакетів, спосіб вирішення цієї проблеми залежить від вашої локальної конфігурації - додавання пакету за допомогою команд PEAR або використання веб-хоста, вбудованого в рішення для встановлення пакета.

Що робити, коли imagejpeg або imagepng не працює

У програмі NotePad ++ відкрийте файл PHP, який викликає функцію imagepng, і збережіть його після переходу до меню Кодування> Перетворення в UTF-8 без специфікації.

У DreamWeaver перейдіть до пункту Властивості сторінки> Заголовок / кодування> зніміть прапорець Включити підпис Unicode (BOM).

Коли PHP imagejpeg або imagepng не працює, то, швидше за все, це пов'язано з тим, що файл PHP був закодований з BOM, Bill Of Material, і тому до зображення передаються додаткові відомості з зображенням.

Функції PHP imagejpeg і PHP imagepng є функцією, що використовується для відправки коду зображення безпосередньо у відповідь сервера.

PHP - imagepng не працює належним чином
Функція PHP - imagepng
Функція PHP - imagejpeg

Часті Запитання

Чому я не можу відобразити зображення, створене за допомогою PHP GD у своєму браузері?
Якщо ваше генероване зображення PHP GD не відображається і показує помилку в браузері, це може бути пов’язано з декількома причинами, такими як попередній вихід, вже надсилається, справжні помилки під час генерування зображення, використання неправильного типу зображення або бібліотека GD NO встановлення. Переконайтесь, що попередній вихід не надсилається, перевірте наявність справжніх помилок, перевірте тип зображення та заголовок та підтвердьте встановлення бібліотеки GD.
Як розробники можуть виправити проблему PHP GD, створених зображень, які не відображаються у Firefox через помилки?
Розробники повинні перевірити код генерації зображень на наявність помилок, переконатися, що правильний заголовок типу вмісту надсилається перед будь-якими даними зображень, і перевірити, чи не виводиться помилок PHP чи попередження. Використання OB_CLEAN () перед виведенням зображення також може допомогти.

Yoann Bierling
Про автора - Yoann Bierling
Yoann Bierling - це веб -видавничий та цифровий консалтинговий професіонал, що робить глобальний вплив завдяки досвіду та інновації в технологіях. Пристрасний щодо розширення можливостей людям та організаціям процвітати в цифрову епоху, він змушений забезпечити виняткові результати та сприяти зростанню за допомогою створення вмісту освіти.

Вивчіть основи SEO: зареєструйтесь сьогодні!

Підвищіть видимість та трафік вашого веб-сайту, освоюючи основи SEO за допомогою нашого курсу основних основ.

Почніть вивчати SEO

Підвищіть видимість та трафік вашого веб-сайту, освоюючи основи SEO за допомогою нашого курсу основних основ.




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

Залишити коментар