Вывод PHP Imagepng не отображается в браузере - PullRequest
1 голос
/ 23 марта 2012

Я потратил свою последнюю ночь, чтобы решить эту проблему.

У меня есть php-файл, который должен вернуть изображение PNG с соответствующими заголовками.Соответствующее содержимое файла в основном.(Нет предыдущего вывода или пробела перед оператором заголовка)

header('Content-Type: image/png');

$img = @imagecreatefrompng($path);

imagepng($img);
imagedestroy($img);

Но браузер (Firefox) сообщает, что с изображением произошла ошибка, поэтому его нельзя отобразить.

ЕслиЯ сохраняю файл в другое место и загружаю его по FTP, он показан.Например:

imagepng($img, "/tmp/hedede.png");

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

Ответы [ 2 ]

0 голосов
/ 11 марта 2013

Это проблемы с версией библиотеки GD.

imagepng($resource)

... работа старой версии GD Libray.Новая версия будет:

imagepng($resource,"php://output")
0 голосов
/ 23 марта 2012

Пожалуйста, проверьте ваш файл (в пути) MIME-тип, не доверяйте типу файла по его расширению.Надеюсь, поможет.Если ваш файл не является изображением png, код не работает должным образом и не отображает данное изображение.

...