Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

maximum size of uploads in php depend on number of settings. here they are, as put into apache virtual hosts file:

php_admin_flag file_uploads on

php_admin_value memory_limit 560M
php_admin_value post_max_size 530M
php_admin_value upload_max_filesize 500M

php_admin_value max_execution_time 0
php_admin_value max_input_time 0

please ignore the values above, but they enable me to allow uploads of around 150-200M. memory_limit, post_max_size and upload_max_filesize have some specific ratios between each other. i believe that

upload_max_filesize < post_max_size < memory_limit

however, i dont' know how to calculate exact sizes. for example what must be values of these settings in order to allow exactly 100M file upload? from what i gathered online, there is number of factors that determine these ratios, but i couldn't find any references what are these factors.

i'm using linux system.

share|improve this question

1 Answer 1

The memory limit is independent of the POST size you upload files. The uploaded files will be parsed directly by PHP and put in a temp folder.

The upload_max_filesize must be 100M and your post_max_size must be 100M + the overhead of the multipart encoding. The overhead is low as it is binary encoded with a boundary. Even with 101MB it will work.

Now, it may still crash your script if you then do $file = file_get_contents('path/to/uploaded/file.ext'); because in this case the memory_limit will kick in.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.