This limit was added in PHP 5.2.12, to avoid a type of DOS attack: temporary files exhaustion.
Changelog of PHP 5.2.12:
Added “max_file_uploads” INI directive, which can be set to limit the number of file uploads per-request to 20 by default, to prevent possible DOS via temporary file exhaustion, identified by Bogdan Calin. (CVE-2009-4017, Ilia)
You can increase this limit by changing the max_file_uploads
directive.