php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #33673 File upload error reporting partial uploads incorrectly
Submitted: 2005-07-13 01:12 UTC Modified: 2005-07-13 22:48 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: jason at code820 dot com Assigned:
Status: Closed Package: HTTP related
PHP Version: 5CVS, 4CVS (2005-07-13) OS: *
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: jason at code820 dot com
New email:
PHP Version: OS:

 

 [2005-07-13 01:12 UTC] jason at code820 dot com
Description:
------------
On file upload $_FILES['userfile']['error'] is expecting to return an error when a file is only partially uploaded. However, it returns 0 (upload successful) on each try.

We have uploaded everything from 4 meg files to 250 meg files and we cancel them mid-transfer and we are still getting a 0 returned.

This is very similar to this bug here:

http://bugs.php.net/bug.php?id=19556

Actually, almost the same thing, just with a newer version of PHP.

We have tried with single uploads as well as multiple uploads with the same results.

Setup is:

PHP 5.0.4
Apache 2.0.54
eAccelerator 0.9.2
(did it with eAccelerator turned ON and turned OFF, same result)

Apache configure:
./configure --enable-mods-shared=all --enable-ssl

PHP configure:
'./configure' '--with-apxs2=/usr/local/apache2/bin/apxs' '--with-pgsql' '--with-mysql' '--enable-bcmath' '--with-mcrypt=/usr/local' '--with-zlib=/usr/' '--with-mime-magic' '--enable-exif' '--with-curl=/usr/local' '--with-openssl' '--enable-sockets' '--enable-mbstring' '--enable-sigchild'


php.ini has been altered to accept larger files on upload/post/etc.

Reproduce code:
---------------
// upload form
<form name="myform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">

Image 1: <input type="file" name="THEFILE" size="30">

// end upload form



// process script
<?php
$m = print_r($_FILE, TRUE);
mail("email@address.com", "DEBUG", $m);
?>

Mail message contains:
Array
(
    [THEFILE] => Array
        (
            [name] => IMG_0138.JPG
            [type] => image/jpeg
            [tmp_name] => /usr/local/web/tmp/phpmGnzHe
            [error] => 0
            [size] => 3581591
        )

)

Expected result:
----------------
Expect to see [THEFILE][error] = 3



Actual result:
--------------
Array
(
    [THEFILE] => Array
        (
            [name] => IMG_0138.JPG
            [type] => image/jpeg
            [tmp_name] => /usr/local/web/tmp/phpmGnzHe
            [error] => 0
            [size] => 3581591
        )

)

Actual size of the file on the server is 3040870, NOT 3581591

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-07-13 19:51 UTC] sniper@php.net
This is really a bug, or rather a mixed up error:
'UPLOAD_ERR_PARTIAL' should be 'UPLOAD_ERR_PARTIAL_WRITE'

We actually don't have an error for partial uploads at the moment.

 [2005-07-13 19:56 UTC] jason at burfield dot com
Ok...can the docs be updated for this? Might save someone a lot of time in the future.

Also...will future versions of PHP support partial upload detetction?

Thanks.
 [2005-07-13 22:48 UTC] iliaa@php.net
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 15:01:30 2024 UTC