I've been searching for a solution but unable to find one, so I'm posting here.
I'm using the standard html form layout to upload a file to the server.
<link type="text/css" rel="stylesheet" href="../../css/content.css" />
<h2 align="center">Download Data</h2>
<br/>
<form name="DownloadForm" action="download.php" method="post" enctype="multipart/form-data">
<table>
<tr>
<td>
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
Upload File: <input type="file" name="uploadFile" />
</td>
</tr>
</table>
<h1 align="center"><input id="submitButton" type="submit" value="Submit" /></h1>
</form>
I created a file that has hex values 0x00 to 0xFF. The file is 256 bytes and I uploaded it. The $_FILES["uploadFile"]["size"] displays the size correctly as 256 bytes but when I look at it on the server the size is only 252 bytes. It seems that any hex chars of 0x00 are removed. In addition the chars < (0x3C) = (0x3D) and > (0x3E) are removed. I have found that any information after the < character is removed until it encounters a > character. Can anyone tell me why the file isn't being uploaded in tact?
PHP Version = 5.2.10
Apache Version = 2.2.13
Linux Debian