FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Checking if file is an image
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: Checking if file is an image [message #170870 is a reply to message #170857] Sat, 04 December 2010 11:39 Go to previous messageGo to previous message
Michael Fesser is currently offline  Michael Fesser
Messages: 215
Registered: September 2010
Karma:
Senior Member
.oO(jwcarlton)

> I have a section that shows an uploaded image. I was doing this:
>
> list($width, $height, $type, $attr) = @getimagesize("/path/to/
> $image");
>
> if (!$width) {
> $image = "noimage.gif";
> $width = "75";
> $height = "95";
> }
>
> I understand that error suppression has a bit of a performance hit,

Not really, it's just ugly.

> though, so I'm curious if either of these would be better:
>
> if (is_readable("/path/to/$image"))
> list($width, $height, $type, $attr) = @getimagesize("/path/to/
> $image");

if (is_readable("/path/to/$image"))
list($width, $height, $type, $attr) = getimagesize("/path/to/
$image");

> Either would still be followed with "if (!$width)...". I know that
> neither are fool-proof because they don't check that someone didn't
> rename an .xls or .exe to .jpg

They do, because non-image files won't have valid 'width' and 'height'
values.

> but I can probably control that better
> on the upload side than checking here on every page load.

The check that an uploaded file is a valid image would still have to be
done with getimagesize(), because you can't rely on filename and content
type.

> Here, I'm
> more concerned with speed

Do you have a real performance issue? Most likely not.

> and not showing any error messages for
> faulty images.

Simply disable errors on the production system (not on the development
system, though) and check the return values of getimagesize().

Micha
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Efficiency of a lot of variables
Next Topic: web solutions for global presence
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Tue Nov 26 22:20:30 GMT 2024

Total time taken to generate the page: 0.05522 seconds