Re: What is wrong with this expression?
| From: | DL Neil | Date: | Mon, 18 Nov 2002 16:06:46 +0000 |
| Subject: | Re: What is wrong with this expression? | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-124931@lists.php.net to get a copy of this message | ||
JohnMeyer
> if (is_uploaded_file($_FILES["imagefile"]["tmp_name"]) &&
> ($_FILES["imagefile"]["type"] != "image/jpeg" &&
> $_FILES["imagefile"]["type"] != "image/gif" &&
$_FILES["imagefile"]["type"]
> != "image/jpg" && $_FILES["imagefile"]["type"] !=
> "image/png"))
>
> I'm trying to weed out everything that isn't a .jpg, .gif, or .png.
What's
> wrong with this?
=when you have a complex question, simplify!
=It would be called the KISS principle if you were better looking!
=It doesn't seem to be bothering you, so let's assume that the is_uploaded
section works.
=First let's plug in an imagefile-type of .TIF
TIF != "image/jpeg" is true
TIF != "image/gif" is true
TIF != "image/jpg" is true
TIF != "image/png" is true
=So true AND true AND true AND true is true, and presumably you will "weed
out" that file***. But...
=next let's plug in an imagefile-type of .GIF
TIF != "image/jpeg" is true
TIF != "image/gif" is false
TIF != "image/jpg" is true
TIF != "image/png" is true
=So true AND false AND true AND true is false, and presumably you will "weed
in" that file***. But...
=Let's come back to that first phrase that looked so good:
is_uploaded_file($_FILES["imagefile"]["tmp_name"])
=(***with such limited visibility as you have afforded us - an incomplete
PHP statement -> cries of "unfair" are heard in the land!) It seems that if
this is an uploaded file the logic will result in true, but if it is not,
false.
=Now add that to the above: our .TIF resulted in true so an uploaded file
that is in .TIF format will be weeded out. But...
=our .GIF resulted in false so regardless of whether we have an uploaded
file or not, the result of the ANDs must be false! In other words, a JP(e)G,
GIF, or .PNG file will be treated in the same way as a non-uploaded file!?
Should the is_uploaded_file() question be separated from the question about
the (un)acceptable types of file?
=dn