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