Bug #14008 Updated: $_POST/$_FILES when uploaded file is too large
| From: | sniper@php.net | Date: | Sun, 11 Nov 2001 00:48:58 +0000 |
| Subject: | Bug #14008 Updated: $_POST/$_FILES when uploaded file is too large | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-70045@lists.php.net to get a copy of this message | ||
ID: 14008
Updated by: sniper
Reported By: heyesr@php.net
Old Status: Assigned
Status: Feedback
Bug Type: HTTP related
Operating System: RHL 7.1
PHP Version: 4.0CVS-2001-11-10
Assigned To: sniper
New Comment:
Please try the latest CVS and let me know if this is good.
Also note that errors set are stored in $php_errormsg
variable if you have track_errors=on in your php.ini.
It now also sets different types for the error:
2 /* Uploaded file exceeded upload_max_filesize */
3 /* Uploaded file exceeded MAX_FILE_SIZE */
4 /* Only partiallly uploaded */
Maybe the first 2 might be same?
And we propably should have some PHP land constants for these?
Previous Comments:
------------------------------------------------------------------------
[2001-11-10 10:16:55] sniper@php.net
I'll take care of this.
--Jani
------------------------------------------------------------------------
[2001-11-10 09:42:30] heyesr@php.net
> so what do you expect?
>
> the file is to big, so it is rejected
It would be nice to get some sort of confirmation that the file was rejected and why, instead of
having to guess.
> and the submit button is most likely
> placed after the file input in the form
> so its data comes after the file data in
> the post so its behind the limit, too ...
This is just plain wrong. What about other form data that comes after the file? If I'm to
redirect the user back to the form because the file was too large, I don't want them to have to
retype stuff unnecessarily.
------------------------------------------------------------------------
[2001-11-10 09:18:51] hholzgra@php.net
so what do you expect?
the file is to big, so it is rejected
and the submit button is most likely
placed after the file input in the form
so its data comes after the file data in
the post so its behind the limit, too ...
------------------------------------------------------------------------
[2001-11-10 09:12:47] heyesr@php.net
Version is 4.2.0-dev.
When using the following script:
<?php
print_r($_POST);
print_r($_FILES);
if($_POST['submit']){
exit;
}else{
?>
<FORM ACTION="test.php" METHOd="POST"
ENCTYPE="multipart/form-data">
<INPUT TYPE="HIDDEN" NAME="hidden" VALUE="blah">
<INPUT TYPE="FILE" NAME="fileupload">
<INPUT TYPE="SUBMIT" NAME="submit">
</FORM>
<?php
}
?>
If an uploaded file is smaller than the limit, then it prints the stuff as expected, however if the
uploaded file is too large, then the _POST is missing information and $_FILES is completely empty.
For example. If the file is ok, this is what I got printed:
Array
(
[hidden] => blah
[submit] => Submit Query
)
Array
(
[fileupload] => Array
(
[name] => expat-1.95.2.tar.gz
[type] => application/x-gzip-compressed
[tmp_name] => /tmp/phpQg7diG
[size] => 190316
)
)
And if the file is larger than 2Mb, this is what's printed:
Array
(
[hidden] => blah
)
Array
(
)
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=14008&edit=1