In my site host, I have seen (via phpinfo) that
This led me to think that I should be able to upload as file as big as 16Mb. However, when I do this through a post method (as normal), post_max_size takes over and declares that I sent too much.
What is the method which permits sending a file as big as 16Mb ? GET - PUT - other ?
Hope someone can clarify this for me.
Simon
upload_max_filesize
is the limit of any single file.
post_max_size
is the limit of the entire body of the request, which could include multiple files.
Given post_max_size = 20M
and upload_max_filesize = 6M
you could upload up to 3 files of 6M each. If instead post_max_size = 6M
and upload_max_filesize = 20M
then you could only upload one 6M file before hitting post_max_size. It doesn't help to have upload_max_size
> post_max_size
.
It's not obvious how to recognize going over post_max_size
. $_POST
and $_FILES
will be empty, but $_SERVER['CONTENT_LENGTH']
will be > 0. If the client just didn't upload any post variables or files, then $_SERVER['CONTENT_LENGTH']
will be 0.