8

Is it possible for the upload of ~100 MB files using PHP?

If so, what changes need to occur in the configuration file (php.ini)?

Sri

max_
  • 24,076
  • 39
  • 122
  • 211
sri
  • 3,319
  • 7
  • 34
  • 48

5 Answers5

30

The following options are relevant:

and possibly

Pekka
  • 442,112
  • 142
  • 972
  • 1,088
2

In your php.ini adjust the value of:

file_uploads = On
upload_max_filesize = 100M //needs to be in {x}M format

And allow larger post size:

post_max_size = 100M
miku
  • 181,842
  • 47
  • 306
  • 310
2

To allow for larger uploads with PHP you must change a few settings in the php.ini file (upload_max_filesize, max_input_time, memory_limit, max_execution_time, post_max_size). You can find your php.ini file under you PHP installation directory, and more information about the required settings here.

Torstein
  • 43
  • 5
  • 2
    Thanks for reminding me of `max_input_time`, +1. But `max_execution_time` and `memory_limit` don't really apply - not if the uploaded file is merely moved to another location. – Pekka Jul 16 '10 at 09:29
1

This dumfounded me for a while so just wanted to add:

If your project also use nginx (e.g. a buildpack), you may have to add client_max_body_size 100M; to your nginx.conf file since nginx defaults to only 1M (1 MB) - in addition to the PHP settings mentioned above.

Regarding PHP settings, I create a .user.ini file at root level of my projects to change the few settings I want to override from the default php.ini file.

In my setup (using dokku) it was located at /etc/nginx/nginx.conf, then added the extra line via nano nginx.conf. I don't directly use nginx, but my buildpack adds it.

Hope this helps someone :)

0

You just need to change the timeout of the server and the max file size in the php.ini file.

http://blog.jc21.com/2007-05-03/change-the-maximum-upload-size-with-php/

EDIT: You may not need to change the timeout of the server as that really would depend on which server you are running things on.

spinon
  • 10,760
  • 5
  • 41
  • 59