5

ETA:有人建议ini_set(),但我的理解是这是服务器端设置;我需要在运行时独立于每个脚本。例如,三个脚本像这样同时运行:x.php 使用 2k,y.php 使用 4k,z.php 使用 8k。

如何以编程方式基于每个脚本(即,不是服务器范围)设置 POST 最大大小的限制?

例如,在 Perl 中,只需在每个脚本中执行此操作,从而允许每个脚本在运行时设置自己的限制:

# The $POST_MAX variable also applies to the combined size of all the elements
# in a form. Therefore, you can set this variable to keep people from pasting
# huge amounts of junk into text fields, too.
$CGI::POST_MAX = 1024 * 2;

我意识到 php.ini 中有一个设置来限制所有PHP 脚本的最大 POST 大小:

; Maximum size of POST data that PHP will accept.
; http://php.net/post-max-size
post_max_size = 8M

但我想知道如何在每个脚本的基础上做到这一点(因为每个脚本都有自己的限制)。

注意:大概可以在 Apache httpd.conf 和/或 .htaccess 中设置限制,但我不想这样做。

4

3 回答 3

9

使用ini_set然后根据需要设置您的 php 设置。

例子

ini_set('upload_max_filesize', '60M');     
ini_set('max_execution_time', '999');
ini_set('memory_limit', '128M');
ini_set('post_max_size', '60M'); 
于 2013-02-28T04:28:17.993 回答
1

要基于每个脚本更改 ini 设置,您可以使用:

ini_set('post_max_size', '10M')
于 2013-02-28T04:34:42.557 回答
0

你也可以在你的.htaccess文件中做

php_value upload_max_filesize 30M

或者您可以使用ini_set几乎被主机提供商禁用的 php 功能。

ini_set('upload_max_filesize', '60M');     
于 2013-02-28T05:18:55.520 回答