[ciapug] File Upload
Barry Von Ahsen
barry at vonahsen.com
Tue Feb 21 09:14:48 CST 2006
for file uploads, I found this once on php.net (I don't see it now)
if (!is_uploaded_file($_FILES['file']['tmp_name'])) {
switch($_FILES['file']['error']){
case 0: //no error; possible file attack!
$errtxt .= "There was a problem with your upload.";
break;
case 1: //uploaded file exceeds the upload_max_filesize directive in
php.ini
$errtxt .= "The file you are trying to upload is too big.";
break;
case 2: //uploaded file exceeds the MAX_FILE_SIZE directive that was
specified in the html form
$errtxt .= "The file you are trying to upload is too big.";
break;
case 3: //uploaded file was only partially uploaded
$errtxt .= "The file you are trying upload was only partially uploaded.";
break;
case 4: //no file was uploaded
$errtxt .= "You must select a file for upload.";
break;
default: //a default error, just in case! :)
$errtxt .= "There was a problem with your upload.";
break;
}
}
-barry
Carl Olsen wrote:
> I ran into an unusual situation today creating a file upload script. I have
> the php.ini settings for memory_limit, upload_max_filesize, and
> post_max_size all set to 10M. I have a form with a hidden field
> MAX_FILE_SIZE just before the file input box set to 10000000 (10 million
> bytes, slightly less than 10M). I have a function that checks both the file
> extension and the file type, so it only allows files of certain types to be
> uploaded. I get unusual results. When I upload most files that do not fit
> the required type, it give me one of my custom error messages. When I
> upload a file that is too big, it doesn't do anything (MAX_FILE_SIZE
> prevents the form from posting). However, when I upload a file with an .exe
> file extension that is 54MB, I get a machine error that starts out "PHP
> Warning" at the bottom of the page.
>
> What I would really like to do is figure out how to write some PHP code to
> intercept the machine error and display a custom error on the page, but it
> appears to be outside the scope of any PHP code I can insert into the page.
> Has anyone seen this before?
>
> Carl Olsen
>
> _______________________________________________
> ciapug mailing list
> ciapug at cialug.org
> http://cialug.org/mailman/listinfo/ciapug
More information about the ciapug
mailing list