2013-02-28 2 views
4

ETA: некоторые предложили ini_set(), но это мое понимание, это настройка на стороне сервера; Мне нужна независимость каждого сценария во время выполнения. Например, три сценария одновременно работают следующим образом: x.php использует 2k, y.php использует 4k, а z.php использует 8k.Как установить ограничение размера POST для каждого скрипта?

Как программно установить ограничение на максимальный размер 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, чтобы ограничить максимальный размер POST для всех PHP скриптов:

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

Но я хочу знать, как сделать это на основе каждого сценария (потому что каждый сценарий будет иметь свои собственные ограничения).

Примечание: Предположительно, можно установить предел в Apache httpd.conf и/или в .htaccess, но я не хочу этого делать.

ответ

6

используйте 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'); 
+0

Разве это не общесистемный параметр, который повлияет на все сценарии? Например, мне нужно x.php использовать 2k, y.php для использования 4k и z.php для использования 8k. – Scavokovich

+0

@Scavokovich - вы правы, но я думаю, что только на время исполнения скрипта, но все же это не похоже на идеальное решение. –

+1

да, его настройка сервера, но вы можете сделать его обычным файлом и включить его там, где хотите. ..так, это не повлияет на другой файл, который не включает общий файл –

1

Для изменения ини настройки на одного сценария основе, вы можете использовать:

ini_set('post_max_size', '10M') 
0

также вы можете сделать это в файле .htaccess

php_value upload_max_filesize 30M 

или вы можете использовать ini_set php, которая почти отключена хост-провайдером.

ini_set('upload_max_filesize', '60M');  
Смежные вопросы