Problem with imagecreatefrompng (PHP)
Asked Answered
S

2

8

in one of my PHP projects, imagecreatefrompng complains, that the image "is not a valid PNG file".

Warning: imagecreatefrompng() [function.imagecreatefrompng]:
'/.../...png' is not a valid PNG file in /.../...php on line ...

I'm pretty sure, the file is valid, because I can open it in any program. So I was wondering what else could cause this warning.

Does anybody know the details behind imagecreatefrompng or has had a similar problem before?

Thanks for your help,

Timo

Striker answered 19/2, 2010 at 11:30 Comment(1)
@Striker Welcome to SO. Instead of putting SOLVED in the title of your question, click the green checkmark next to the answer below.Brisling
A
16

Is it a PNG image? Run file against it, or try the fileinfo functions.

Andraandrade answered 19/2, 2010 at 11:32 Comment(3)
Thanks for the link to the fileinfo functions. I let PHP check the mime type and surprisingly enough the image was a jpg file - renaming it to .jpg solved the problem. I guess every program I opened the file with automatically detected the mime type correctly...Striker
I still get the same error after checking with those functions and getting the expected values: "PNG image, 873 x 361, 8-bit/color RGBA, non-interlaced"Shin
@spuas: Then you have a different problem.Andraandrade
N
3

Check this mime type of file you are going to upload by using below function:

mime_content_type($_FILES['product_img']['tmp_name'])

Image editors can often recognize file type by its contents, php might just try to use the file based on its mime-type. If it don't match then there's an error.

Nootka answered 1/12, 2017 at 7:7 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.