Я провела свою последнюю ночь, чтобы решить эту проблему.Выход PHP Imagepng не отображается в браузере
У меня есть файл 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 покажет его.
Удалить «@» из imagecreatefrompng, возможно, у вас есть ошибка. – slash197
Да, вы можете получить такие уведомления: «abc» не является допустимым файлом PNG – hungneox
Я удалил символ «@». Но все же я не получил никакой ошибки, даже если 'error_reporting' был установлен в' (E_ALL) '. Я также уверен, что входной файл является допустимым PNG, и я могу его отобразить, если я напрямую вызываю этот файл с помощью браузера. – noway