Как создать эскиз PNG, если "imagecreatefrompng ()" не удается? - PullRequest
1 голос
/ 29 октября 2010

Я начинаю создавать миниатюру PNG с помощью этой функции:

$image = imagecreatefrompng("http://imagenic.net/images/pfujz9j5juav1qrex00.png");

Тем не менее, он говорит:

'http://imagenic.net/images/pfujz9j5juav1qrex00.png' is not a valid PNG file

Он работает нормально с другими изображениями PNG, поэтому я думаю, что-точто-то не так с этой конкретной картинкой.

Что я могу сделать в этой ситуации?

Есть ли другой способ создать миниатюру?

(Кстати, я нашел эту картинку вв Интернете.)

Ответы [ 3 ]

6 голосов
/ 29 октября 2010

Использование getimagesize () возвращает значение mime для image / jpeg, вы можете вызвать эту функцию, чтобы определить, какую функцию imagecreatefrom ... вызывать далее.

4 голосов
/ 29 октября 2010

Согласно Firefox, это изображение на самом деле является изображением JPEG.Кто-то только что дал неправильное расширение.Вы можете использовать функцию finfo_file , чтобы проверить фактический тип файла, прослушивая его заголовок.

2 голосов
/ 29 октября 2010

Попробуйте одну из других imagecreatefrom*() функций.Или используйте функции fileinfo и прекратите угадывать.

...