PHP GD сгенерированное изображение Изображение не может быть отображено, поскольку оно содержит ошибки в Firefox



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

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

Проблема может быть вызвана несколькими причинами: вот некоторые из них:

Выход уже установлен ранее.

Настоящая ошибка в генерации изображений.

Используется неправильный тип изображения.

Библиотека изображений не установлена.

Выход уже установлен ранее

Даже если это не преднамеренно, может быть, например, что другие предыдущие сценарии содержали пробелы в конце - чтобы избежать этой ошибки, убедитесь, что, как рекомендует PHP, не закрывать скрипты с помощью тега PHP end>

Затем, прежде чем использовать функцию заголовка, используйте следующий код, чтобы убедиться, что любой ранее установленный заголовок отбрасывается

А также эта функция, чтобы убедиться, что выходной сигнал не был сформирован перед заголовком и изображением

Это решило проблему в моем случае, и изображение было правильно отображено снова.

Настоящая ошибка в генерации изображений

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

Следующий код заставит PHP сообщать обо всех ошибках в журнале:

Затем вы можете узнать, что сообщалось о некоторых ошибках, даже если они не отображались в выходном html из-за конфигурации сервера.

Используется неправильный тип изображения

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

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

Библиотека изображений не установлена

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

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

Что делать, если imagejpeg или imagepng не работает

В NotePad ++ откройте файл PHP, который вызывает функцию imagepng, и сохраните его после перехода в меню «Кодирование»> «Преобразовать в UTF-8 без спецификации».

В DreamWeaver перейдите в Свойства страницы> Заголовок / Кодировка> снимите флажок Включить подпись Unicode (BOM).

Когда PHP imagejpeg или imagepng не работает, это, скорее всего, связано с тем, что файл PHP был закодирован с помощью спецификации, ведомости материалов, и, следовательно, дополнительная информация отправляется вместе с изображением перед данными изображения.

Функции PHP imagejpeg и PHP imagepng - это функции, используемые для отправки кода изображения непосредственно в ответе сервера.

PHP - imagepng не работает должным образом
PHP - функция imagepng
PHP - функция imagejpeg

YB Digital
Об авторе - YB Digital
Йоанн - международный бизнес-консультант, фасилитатор и координатор. Он проработал более 10 лет в глобальном бизнесе, цепочках поставок, финансах, проектах SAP ERP, веб-оптимизации и SEO для различных отраслей, таких как логистика, косметика, потребительские товары, косметика или мода, в более чем 30 странах по всему миру. .
 




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

Оставить комментарий