Skip to content
Advertisement

Why would $_FILES be empty when uploading files to PHP?

I have WampServer 2 installed on my Windows 7 computer. I’m using Apache 2.2.11 and PHP 5.2.11. When I attempt to upload any file from a form, it seems to upload, but in PHP, the $_FILES array is empty. There is no file in the c:wamptmp folder. I have configured php.ini to allow file uploads and such. The tmp folder has read/write privileges for the current user. I’m stumped.

HTML:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
    <form enctype="multipart/form-data" action="vanilla-upload.php" method="POST">
        Choose a file to upload: <input name="uploadedfile" type="file" /><br />
        <input type="submit" value="Upload File" />
    </form>
</body>
</html>

PHP:

<?php
echo 'file count=', count($_FILES),"n";
var_dump($_FILES);
echo "n";
?>

Advertisement

Answer

Thank you everybody for the vary comprehensive replies. Those are all very helpful. The answer turned out to be something very odd. It turns out that PHP 5.2.11 doesn’t like the following:

post_max_size = 2G

or

post_max_size = 2048M

If I change it to 2047M, the upload works.

User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement