PHP

PHP で複数ファイルのアップロード処理を書いたが20個しかアップロードできない。

最近のブラウザだと、input タグに multiple 属性をつけると、ひとつのタグで複数のファイルをアップロードすることができる

<input type=”file” name=”files[]” multiple>

こんな感じで簡単。

しかし、調子に乗って30個ぐらいのファイルを一度にアップしようとしたら、一部のファイルしかアップされませんでした。

数えてみるとちょど20個で、それ以降のファイルは取得できない。

調べてみたところ、やっぱり制限がありました。

デフォルトでは20個のようですが、php.ini に max_file_uploads を追加してあげれば制限値を変えられるようです。

私の環境では /etc/php.ini に max_file_uploads = 100 を追加したら100個までアップロードできるようになりました。

変えられるからといってあまり大きい値にするのもどうかと思うので、運用を考えて必要最小限の値にしておきましょう。

php.ini を変更したらWebサーバの再起動も忘れずに。