phpで大容量のファイルをアップロードする時の注意点

ファイルのアップロード時にこける

PHPを使用してファイルをアッロードするとこける・・・
サーバを参照してもアップしたファイルが見当たらない。
$_FILES['userfile']['error']
にアクセスするとエラーコード「1」と出ている。
どうやらアップロード上限を超えているらしいです。

php.iniを確認する

upload_max_filesizeが2Mになっていました。
これだと最大で2MBまでしかアップロード出来ません。

こちらの容量を変えたところ無事アップロードすることが出来ました。
最大容量以外にもファイルアップロードにあたって以下の設定値が関係しているようです。

                                 
設定値名内容初期値備考
file_uploadsファイルアップロードの許可ONOFFになっているとファイルのアップロードが自体が出来ない
max_file_uploads最大アップロードファイル数20複数のファイルをアップロードする際に設定
upload_max_filesizeファイルの最大アップロード容量2MB初期値が低い為注意
post_max_sizepostメソッドで送信できる最大容量8MB添付ファイルを同時にpostする場合を考えてupload_max_filesizeより気持ち高い数値に設定
memory_limitPHP実行時の最大使用メモリ128M複数人が同時にアップロードを行う際に少し多めに設定
max_execution_timephpの最大実行時間30秒実行時間を過ぎるとアップロードがタイムアウトするため注意

ファイルを管理するwebアプリケーションでは、アップロード機能を使うことも多いので設定を見直してみるといいかもしれません。

それでもアップロードがこける場合…

フォームを確認してみましょう。 html側で設定してしまってる場合があります。

わだ

システムソリューション部
入社2年目を迎えました
精神誠意真心をこめて頑張ります

※記事の内容は保証はしておりません(執筆時期や実施環境により挙動が変わるものがある為)。
別途検証してご利用いただくことをおすすめいたします。