max_file_uploads は同時にアップロードできるファイルの最大数の設定項目です。これは php.ini 等に記述する設定です。PHP 自体のエラーが出ていないのに何故か POST したファイル数よりも少ないファイル数しか処理されない、といった時は大体これが原因です。
PHP: コア php.ini ディレクティブに関する説明 – Manual
ちなみにこのエラーは $_FILES 中のエラーには現れず、0 行目の Warning として現れます。しれっとステータスコード 200 が返ってきやすいので比較的見逃しやすいです。これを捕捉するにはコードが始まったばかりのタイミングで error_get_last 関数を用いるのが現実的です。
PHP: エラーメッセージの説明 – Manual
PHP: error_get_last – Manual
max_file_uploads はつい最近まで設定区分 PHP_INI_SYSTEM(php.ini、 httpd.confでのみ設定可能)と記述されていましたが、この度 PHP_INI_PERDIR(php.ini、.htaccess、httpd.conf あるいは .user.ini で設定可能なエントリ )に修正されました。
Fix max_file_uploads changeable value · php/doc-ja@32be93a
Fix `max_file_uploads` changeable value (#1038) · php/doc-en@8a04690
PHP: どこで設定を行うのか – Manual
ソースコードを追うと 2012/02/18 に PHP_INI_SYSTEM から PHP_INI_PERDIR に変更されており、かれこれ8年半越しの反映となりました。
I think we should let this be settable from .htaccess to match the ot… · php/php-src@8bc24c0