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