Помощник
|
Баг PHP или моя недоработка? |
mark2013
|
Сообщение
#1
|
||
|
|
||
|
|||
DevDeweloper |
7.5.2019, 9:50;
Ответить: DevDeweloper
Сообщение
#2
|
|
Всем привет! Написал функцию, которая перемасштабирует изображение.Функция здесь: https://pastebin.com/wzuuk7ES Так вот, с jpg всё отлично работает. А вот когда попробовал на png - ответ такой: "Изображение ........ не может быть показано, так как содержит ошибки". Стал думать, в чём прикол.В функции после Цитатаif($mime['mime']=='image/png') { $src_img = imagecreatefrompng($filename); } сделал Цитатаecho $src_img;exit; и получил следующее:ЦитатаWarning: imagecreatefrompng(): gd-png error: cannot allocate libpng main struct in ... on line 11 Warning: imagecreatefrompng(): 'image2.png' is not a valid PNG file in ... on line 11 "line 11" это:Цитата$src_img = imagecreatefrompng($filename); Ну и как это понимать? PHP 7.3.5. Может быть багом? 99% не стоит либа libpng на сервере или криво указан путь до нее -------------------- |
|
|
mark2013
|
Сообщение
#3
|
|
|
|
|
DevDeweloper |
7.5.2019, 10:11;
Ответить: DevDeweloper
Сообщение
#4
|
|
DevDeweloper, ЦитатаlibPNG Version 1.6.17 Это из phpinfo() Тогда, не валидный файл. Проверяйте не на тип а @imagecreatefrompng если false то он кривой или не тот формат А вообще при сохранении файла пришедшего на сервер нужно так проверять. Сообщение отредактировал DevDeweloper - 7.5.2019, 10:14 -------------------- |
|
|
mark2013
|
Сообщение
#5
|
|
DevDeweloper, я штук 5 png скачал с яндекс картинок и все кривые? такое может быть?
|
|
|
Андрей_WPM |
7.5.2019, 11:04;
Ответить: Андрей_WPM
Сообщение
#6
|
|
mark2013, а что если перед началом масштабирования принудительно поменять png на jpg, замасштабить его и в конце опять с jpg на png? Раз говорите jpg масштабируется без проблем. Думаю, это самый простой способ обойти проблему (хотя, честно говоря быдлокод, но проблему то решит... ).
-------------------- |
|
|
MetalMessiah |
7.5.2019, 14:49;
Ответить: MetalMessiah
Сообщение
#7
|
|
Цитата я штук 5 png скачал с яндекс картинок и все кривые? такое может быть? Скинь сюда одну, мы посмотрим. Все может быть, ты качаешь с гугл картинок JPG, на странице написано что формат JPG, а тебе какой-то webm сохраняется, потом думаешь чем эту дрянь прочитать. Или какой-то кривой фреймворк для работы с PDF стоял в одном из банков страны на сохранение квитанций, в браузере PDF открывался, а софтом типа Акробата - неверный формат, файл проврежден и все такое, а прикол в том что перед заголовком в шапке строчка мусора... Сообщение отредактировал MetalMessiah - 7.5.2019, 14:51 |
|
|
DevDeweloper |
7.5.2019, 16:04;
Ответить: DevDeweloper
Сообщение
#8
|
|
mark2013, Есть такая штука неиндексируемый png. Открой его в GIMP например и IMAGE->EXPORT->EXTENDED .. И подкинь. Либо самый простой вариант. Взять в фотошопе создать png и сохранить.
-------------------- |
|
|
mark2013
|
Сообщение
#9
|
|
DevDeweloper, делал уже так, всё равно ошибку выдаёт.
Открыл GIMP... нарисовал круг, залил его цветом и сохранил сей "шедевр" в PNG. Вот самая простая функция, какая вообще может быть: Цитата function resizePng($new_width, $new_height) { $file = "/var/www/sites/photogallery/image.png"; $im = imagecreatefrompng($file); $imnew = imagecreatetruecolor($new_width, $new_height); imagecopyresized($imnew, $im, 0, 0, 0, 0, $new_width, $new_height, 1920, 1080); header("Content-type: image/png"); imagepng($imnew); } Вызов: Цитата resizePng(400, 150); даёт Цитата Изображение ... не может быть показано, так как содержит ошибки В логах - всё то же: Цитата gd-png error: cannot allocate libpng main struct in...
Сообщение отредактировал mark2013 - 7.5.2019, 19:09 |
|
|
WoWeb |
7.5.2019, 19:10;
Ответить: WoWeb
Сообщение
#10
|
|
mark2013, А можно полный текст этой ошибки - gd-png error: cannot allocate libpng main struct in ...
-------------------- |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Если статья не в индексе Google - она уникальна или нет? | 7 | uahomka | 1701 | Вчера, 22:59 автор: Liudmila |
|
Создать видеоканал лучше в ютуб или телеграм? | 20 | uahomka | 3590 | 20.4.2024, 20:56 автор: Vmir |
|
Где больше пробив на кликандер или попандер или попап трафике? | 1 | Boymaster | 682 | 20.3.2024, 9:50 автор: Skyworker |
|
Выполню качественную верстку макетов или разработка собственного, быстро и не дорого от 45$ |
123 | webche | 117306 | 17.3.2024, 7:09 автор: webche |
|
От какого экрана будут меньше уставать глаза OLED или IPS? | 3 | metvekot | 1038 | 12.3.2024, 16:25 автор: MisterBit |
Текстовая версия | Сейчас: 26.4.2024, 2:17 |