I was wondering if anybody knows the total length that a post global could be. e.g:
$_POST[\'formInput\'] = \"hello world, how long can i be?\";
Check your php.ini for post_max_size
. This is typically about 8mb by default, but if you're on shared-hosting, it could definitely vary.
; Maximum size of POST data that PHP will accept. post_max_size = 8M
You'll have to use $_POST
if you wish to send large amounts of data to the server. For further study, I'd suggest checking out POST Method Uploads in the documentation.
If you want some large amount of data sent from the browser to the server, you'll have to use HTTP POST method -- which means the data will be received, on the PHP side, in the $_POST
superglobal array ; there's not much you can do about that.
The configuration directive post_max_size defines the maximum amount of data that can be received using the POST method -- you might need to set that to a value higher than the default one, depending on your needs.
And, as said on the documentation of post_max_size
, the value set for memory_limit can also have its importance.
Another problem can be the default limit in php.ini for directive max_input_vars (default 1000), not only the post_max_size. If you have e.g. a very large form with thousands of checkboxes the $_POST array will have only 1000 keys.
$_POST
is populated from the body of a HTTP-request. Since there are no restrictions on the size of a HTTP-request, there are no restrictions in the protocol layer. However PHP has some limitations on how much input it will read. You can control this with the ini-setting post_max_size