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?";
I am creating a site where someone will enter an unknown amount of chars into a textarea, so potentially it could be 2 pages on a word document. So if anybody knows of any other methods of how i can do this apart from using a post global? (it cant be saved in a file, as its important data that i dont want other people to find) That would be very helpful.
Thanks
$_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-settingpost_max_size
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.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 formemory_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.