PHP:什么是后全局变量的总长度?

时间:2010-02-16 22:13:06

标签: php post global-variables string-length

我想知道是否有人知道全球职位的总长度。 e.g:

$_POST['formInput'] = "hello world, how long can i be?";

我正在创建一个网站,其中有人会将未知数量的字符输入文本区域,因此可能是word文档上的2页。那么,如果有人知道除了使用后全局之外我怎么能做到这一点? (它不能保存在文件中,作为我不希望其他人找到的重要数据)这将非常有帮助。

由于

4 个答案:

答案 0 :(得分:24)

检查你的php.ini是否为post_max_size。这通常约为8mb,但如果您使用的是共享托管,则肯定会有所不同。

; Maximum size of POST data that PHP will accept.
post_max_size = 8M

如果您希望向服务器发送大量数据,则必须使用$_POST。如需进一步研究,我建议您查看文档中的POST Method Uploads

答案 1 :(得分:7)

$_POST是从HTTP请求的主体填充的。由于HTTP请求的大小没有限制,因此协议层没有限制。但是PHP对它将读取的输入有一些限制。你可以使用ini-setting post_max_size

来控制它

答案 2 :(得分:3)

另一个问题可能是php.ini中指令max_input_vars(默认值为1000)的默认限制,而不仅仅是post_max_size。如果您有例如一个包含数千个复选框的非常大的表单,$ _POST数组只有1000个键。

答案 3 :(得分:1)

如果您希望从浏览器向服务器发送大量数据,则必须使用HTTP POST方法 - 这意味着将在PHP端$_POST接收数据超全球阵列;你无能为力。

配置指令post_max_size定义了使用POST方法可以接收的最大数据量 - 您可能需要将其设置为高于默认值的值,具体取决于您的需要。

而且,如post_max_size的文档所述,memory_limit的值设置也很重要。