That's exactly what I did.  I realized that yes, the variable is
existing anyhow but saw that it gives a size, so now I made it so that
if that file size is > 0, it'll processs.  Works like a charm now, and
I can tighten down all of my upload scripts!

Marian

--- In [email protected], Chris Chapman <[EMAIL PROTECTED]> wrote:
>
> Marian -
> 
> I think possibly the problem is that you are testing for the value of
> the file uploaded. Correct me if I'm wrong but I *think* that the value
> of a file field, i.e. if($_FILE[pageimage]) will give you an empty value
> but not a *null* value - so an empty value is still valid - this is why
> it evaluates as true - the variable exists, it's just empty.
> 
> Here is a portion of a script I use for testing file uploads - i think
> it will at least get you going in the right direction. I test on the
> filename/type/sizes instead.  Probably not the most graceful but
works. ;-)
> 
> =====================
> 
> /* upload files */
> $stamp = date("U");
> $error = "false";
> $uploadTemp = $_FILES['userfile']['tmp_name'];
> 
> if($uploadTemp != "") {
>       
>       // test for images
>       if($_FILES['userfile']['type'] == "image/gif" ||
> $_FILES['userfile']['type'] == "image/jpeg" ||
> $_FILES['userfile']['type'] == "image/png") {
>       
>               if($_FILES['userfile']['type'] == "image/gif") {
>                       $ext = ".gif";
>                       }
>               if($_FILES['userfile']['type'] == "image/jpeg") {
>                       $ext = ".jpg";
>                       }
>               if($_FILES['userfile']['type'] == "image/png") {
>                       $ext = ".png";
>                       }
> 
>               $imagehw = GetImageSize($uploadTemp);
>               $imagewidth = $imagehw[0];
>               $imageheight = $imagehw[1];
>               if($imagewidth > "640" || $imageheight > "480") {
>                       $error = "true";
>                       $errorNo = 2;
>                       }
>                       
>               if($error == "false") {
>                       $uploadFileName = $stamp.$ext;
>                       }
>               }
>               
>       // else this is another type of file
>       else {
>               $error = "true";
>               $errorNo = 1;
>               }
>       }
>       
> else {
>       $uploadFileName = "";
>       }
> 
> if($error == "true") {
>       header("Location: somefile.php?error=$error&errorNo=$errorNo");
>       }
> 
> // now move the uploaded file
> if($uploadFileName != "") {
>       $uploadFile = $filepath.$uploadFileName;
>       $upload = move_uploaded_file($_FILES['userfile']['tmp_name'],
$uploadFile);
>       }
> 
> ===========================
> 
> HTH.
> 
> cc
> 
> 
> Marian Briones wrote:
> > Well, I latched onto the size value of the upload and figured okay, if
> > the value is greater than 0, then process the file
> > 
> > if ($_FILE['pageimage']['size']==0)
> > {
> >   $processimage="no";
> >   $imageinsert="$oldimage";
> > }
> > else
> > {
> >   $processimage="yes";
> > }
> > 
> > But guess what?
> > 
> > IT STILL DOESN'T WORK!  It won't even process the image now even
> > though the size is greater than 0!
> > 
> > I am stumped
> > 
> > PS  James, thank you for your great info here.  This particular area
> > is only available to site administrators with passwords.
> > 
> > --- In [email protected], James Keeline <[EMAIL PROTECTED]> wrote:
> >> --- Marian Briones <[EMAIL PROTECTED]> wrote:
> >>
> >>> I posted yesterday and no one answered; I"m wondering if this 
> >>> list is having tech difficulties....
> >>
> >> Your message came through but perhaps people were busy.  I know I
> > was (and still am).  However, to
> >> briefly address your question I offer the following.
> >>
> >> Like $_POST and $_GET, $_FILES is a superglobal which is intended to
> > collect information received
> >> from a particular input stream.  In this case, the $_FILES contains
> > data relevant to uploaded
> >> files.
> >>
> >> This associative array has a first key which corresponds to the name
> > of the variable in your
> >> upload form.  In the example below, the name of the uploaded file is
> > myfile so the portion of the
> >> array is $_FILES['myfile'].
> >>
> >> <form method='post' action='script.php'
enctype='multipart/form-data'>
> >> <input type='file' name='myfile'>
> >> <input type='submit'>
> >> </form>
> >>
> >> You should make a test script with a simple form and in the PHP
> > which is identified in the action
> >> parameter of the form tag you can display the variables available
> > during your upload:
> >> <pre>
> >> The $_FILES array contains:
> >> <?php print_r($_FILES); ?>
> >> </pre>
> >>
> >> When a file is uploaded you will see the following values:
> >>
> >> $_FILES['myfile']['name'] // name of the original file
> >> $_FILES['myfile']['size'] // size in bytes of the file
> >> $_FILES['myfile']['type'] // MIME type of the file
> >> $_FILES['myfile']['tmp_name'] // path to temporary file
> >> $_FILES['myfile']['error'] // error code (0=no error)
> >>
> >> You will have to consult one of these specific values to see if your
> > file was uploaded.  Keep in
> >> mind that several of these values may not be trustworthy.  For
> > example, the MIME type could be
> >> faked by the uploading computer so use a server-based verification
> > that the item is really an
> >> image (such as the getimagesize() function).
> >>
> >> File uploads are very risky if not handled carefully.  You are
> > basically allowing unknown web
> >> users the ability to place files of any type on your server.  Two
> > newer functions were added to
> >> PHP to help ensure that the data you think is a file was an actual
> > upload:
> >> http://www.php.net/is_uploaded_file
> >> http://www.php.net/move_uploaded_file
> >>
> >> They should be used instead of the old copy() and unlink() method
> > seen in old tutorials and
> >> scripts on file uploads.  There is also good information on:
> >>
> >> http://us3.php.net/manual/en/features.file-upload.php
> >>
> >> James
> >> _____
> >>
> >>
> >> James D. Keeline
>






Community email addresses:
  Post message: [email protected]
  Subscribe:    [EMAIL PROTECTED]
  Unsubscribe:  [EMAIL PROTECTED]
  List owner:   [EMAIL PROTECTED]

Shortcut URL to this page:
  http://groups.yahoo.com/group/php-list 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/php-list/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to