Bug #55510 [Com]: $_FILES 'name' missing first character after upload.
| From: | v-mafick at microsoft dot com | Date: | Fri, 26 Aug 2011 19:02:05 +0000 |
| Subject: | Bug #55510 [Com]: $_FILES 'name' missing first character after upload. | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-162949@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=55510&edit=1
ID: 55510
Comment by: v-mafick at microsoft dot com
Reported by: aaron at gwmicro dot com
Summary: $_FILES 'name' missing first character after upload.
Status: Open
Type: Bug
Package: Filesystem function related
Operating System: Windows Server 2008 R2
PHP Version: 5.3.8
Block user comment: N
Private report: N
New Comment:
I've setup Apache 2.2.19 and PHP 5.3.8 (though not with mod_ssl) and have run the test script
you provided, but it doesn't produce the problem you reported (it works fine).
In your report, $_FILES['filename']['name'] reports the length of the string as
10, even though only 9 characters are displayed.
Is it possible that somewhere in your program you're converting between charsets or mangling
the filename.
Also, could you provide a packet capture of the network traffic between your web browser and your
web application. You can do this with Wireshark (Windows/Linux) or NetMon (Windows).
Previous Comments:
------------------------------------------------------------------------
[2011-08-25 19:46:39] aaron at gwmicro dot com
While I'm not enamored with the idea of running a beta in production, this problem appears to
be resolved in 5.4.0beta1-dev.
------------------------------------------------------------------------
[2011-08-25 19:36:54] aaron at gwmicro dot com
Description:
------------
After uploading a file using a multipart/form-data HTML form, the resulting file name is missing the
initial character (i.e. readme.txt becomes eadme.txt).
Server: Apache/2.2.19 (Win32) mod_ssl/2.2.19 OpenSSL/1.0.0d PHP/5.3.8
Test script:
---------------
<FORM ACTION="<? echo $_SERVER['PHP_SELF']; ?>" METHOD="POST"
ENCTYPE="multipart/form-data">
File: <INPUT TYPE="file" NAME="filename">
<INPUT TYPE="submit" VALUE="go">
</FORM>
<?
if (isset($_FILES)) {
var_dump($_FILES);
}
?>
array(1) { ["filename"]=> array(5) { ["name"]=> string(10)
"eadme.txt" ["type"]=> string(10) "text/plain"
["tmp_name"]=> string(31) "C:\temp\file_upload\php7D44.tmp"
["error"]=> int(0) ["size"]=> int(3420) } }
Expected result:
----------------
$_FILES['filename']['name'] should be intact rather than missing the first
character.
["name"]=> string(10) "readme.txt"
Actual result:
--------------
$_FILES['filename']['name'] is missing the first character:
["name"]=> string(10) "eadme.txt"
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=55510&edit=1