1 – Check php.ini for:
file_uploads = On
post_max_size = 100M
upload_max_filesize = 100M
You might need to use .htaccess or .user.ini if you are on shared hosting and don’t have access to php.ini.
Make sure you’re editing the correct ini file – use the phpinfo() function to verify your settings are actually being applied. You can also use:
Also make sure you don’t misspell the sizes – it should be 100M not 100MB.
2 – Make sure your
4 – Make sure your tmp and upload directories have the correct read+write permissions set. The temporary upload folder is specified in PHP settings as upload_tmp_dir.
5 – Make sure your file destination and tmp/upload directories do not have spaces in them.
6 – Make sure all
7 – Make sure your FORM tag has method=”POST”. GET requests do not support multipart/form-data uploads.
8 – Make sure your file input tag has a NAME attribute. An ID attribute is NOT sufficient! ID attributes are for use in the DOM, not for POST payloads.
10 – Make sure you’re not nesting forms like
11 – Check your HTML structure for invalid/overlapping tags like
12 – Also make sure that the file you are uploading does not have any non-alphanumeric characters in it.
13 – You could potentially try avoiding underscores (_) in the name=”” attribute of the tag
14 – Try uploading very small files to narrow down whether it’s a file-size issue.
15 – Check your available disk space. Although very rare, it is mentioned in this PHP Manual page comment:
If the $_FILES array suddenly goes mysteriously empty, even though your form seems correct, you should check the disk space available for your temporary folder partition. In my installation, all file uploads failed without warning. After much gnashing of teeth, I tried freeing up additional space, after which file uploads suddenly worked again.
I hope that helps!