Upload max size in PHP?

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


The following options are relevant:

  • PHP: upload_max_filesize (in php.ini or .htaccess only, won't work using ini_set())
  • PHP: post_max_size (ditto)
  • PHP: max_input_time (ditto, thanks @Thorstein, forgot this one)

and possibly

  • Apache: LimitRequestBody

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

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.


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 :)