| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Изменение PNG-изображения |
| Автор: zodiac 17.12.2011, 13:39 | ||
| Здравствуйте! У меня есть скрипт, который меняет размер PNG изображения. Однако по какой-то причине, что бы я ни делал, получить уменьшенную копию картинки не удается - результатом всегда является сообщение "Изображение %filename% не может быть показано, так как содержит ошибки". Включение error_reporting(E_ALL) и отключение заголовка с типом, чтобы посмотреть список ошибок, ни к чему не привело, из чего я сделал вывод, что в коде ошибок не имеется (что неудивительно). Остается сервер, однако в phpinfo явно написано, что поддержка PNG включена. И в чем причина сбоев, я могу только гадать. Подскажите, пожалуйста, где может скрываться проблема? P.S. Доступа к php.ini не имеется. Хостинг только куплен, так что, может быть, этого файла там просто нет (может, его надо создавать вручную?) Собственно, код (на всякий случай).
|
| Автор: WolfAlone 17.12.2011, 16:09 |
| Попробуйте изменить размер изображения другого формата. Если всё получиться, значит нет поддержки PNG. Если нет - значит, ошибки в коде. Ещё можно попробовать сохранить изображение перед тем как отдавать его в браузер. Так же, стоит внимательно посмотреть, не залетел ли где-то какой-нибудь зловредный символ, перед тем как изображение было отправлено в браузер. |
| Автор: $дмитрий 17.12.2011, 16:42 | ||||
Не забываем про директиву display_errors
1. Путь к картинке $_GET['pic'] лучше задавать абсолютный 2. Зачем задавать второй параметр? imagepng($imgdest, ''); 3. Исходный файл png может быть битым |
| Автор: zodiac 18.12.2011, 00:43 |
С другими форматами работает отлично, т.к. адаптировал из аналогичной функции для jpeg'a... Спасибо, вспомнил Как я уже говорил выше, я адаптировал для png-файлов функцию, уменьшающую jpeg-изображения. Опускать имя файла я не стал, просто указал пустое, на всякий случай, однако в этом и была ошибка. Включение забытой ранее display_errors привело к появлению сообщения о "неправильном имени файла". Параметр был убран, и все заработало. Что интересно, во всех исходниках, которые я находил на форумах, этот параметр был... Всем большое спасибо за помощь! |