При создании изображения с помощью PHP, например, добавление водяного знака на сохраненное изображение сервера, с использованием кода ниже или аналогичного с JPEG вместо PNG, изображение может вообще не создаваться и вызывать ошибку, непосредственно видимую в Firefox, но не на Chrome.
Такой код, несмотря на работу на некоторых серверах, теперь может работать над некоторыми другими, иногда по неясным причинам.В моем случае он работал отлично нормально локально, но при ошибке ниже на интернет-сервере изображение не отображалось, поскольку оно содержит ошибки.
Проблема может быть вызвана несколькими причинами: вот некоторые из них:
Выход уже установлен ранее
Настоящая ошибка в генерации изображений
Используется неправильный тип изображения
Библиотека изображений не установлена
Ошибка Изображение невозможно отобразить, поскольку в нем содержатся ошибки в Firefox.
Даже если это не преднамеренно, может быть, например, что другие предыдущие сценарии содержали пробелы в конце — чтобы избежать этой ошибки, убедитесь, что, как рекомендует PHP, не закрывать скрипты с помощью тега PHP end ?>
Затем, прежде чем использовать функцию заголовка, используйте следующий код, чтобы убедиться, что любой ранее установленный заголовок отбрасывается
foreach (getallheaders() as $name => $value) {
header_remove($name);
}
А также эта функция, чтобы убедиться, что выходной сигнал не был сформирован перед заголовком и изображением
ob_end_clean();
Это решило проблему в моем случае, и изображение было правильно отображено снова:
Динамически сгенерированное изображение с использованием PHP
Настоящая ошибка в генерации изображений
Если во время генерации изображения возникла настоящая ошибка, убедитесь, что PHP установлен для отображения всех возможных ошибок и проверки соответствующих журналов, чтобы иметь возможность отслеживать и разрешать его.
Следующий код заставит PHP сообщать обо всех ошибках в журнале:
Чтобы убедиться, что библиотеки изображений установлены. Для этого запустите функцию phpinfo (); в скрипте и проверить вывод для следующего значения, связанного с PHP GD, графической библиотекой, которая используется такими функциями, как imagepng ();
В случае отсутствия пакетов способ его решения зависит от вашей локальной конфигурации либо путем добавления пакета с помощью команд PEAR, либо с помощью встроенного в веб-узел решения для установки пакета.
Сведения о пакете PHP GD с использованием функции phpinfo ()