如何根据每个脚本设置POST大小限制?

时间:2013-02-28 04:26:34

标签: php post limit max

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中设置限制,但我不想这样做。

3 个答案:

答案 0 :(得分:7)

使用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'); 

答案 1 :(得分:1)

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

ini_set('post_max_size', '10M')

答案 2 :(得分:0)

您也可以在.htaccess文件

中执行此操作
php_value upload_max_filesize 30M

或者你可以使用ini_set几乎被主机提供商禁用的php函数。

ini_set('upload_max_filesize', '60M');