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

1
  • 1
    @Timo Welcome to SO. Instead of putting SOLVED in the title of your question, click the green checkmark next to the answer below. Commented Feb 19, 2010 at 13:47

2 Answers 2

17

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

Sign up to request clarification or add additional context in comments.

3 Comments

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...
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"
@spuas: Then you have a different problem.
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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.