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_size postメソッドで送信できる最大容量 8MB添付ファイルを同時にpostする場合を考えてupload_max_filesizeより気持ち高い数値に設定
memory_limit PHP実行時の最大使用メモリ 128M複数人が同時にアップロードを行う際に少し多めに設定
max_execution_time phpの最大実行時間 30秒実行時間を過ぎるとアップロードがタイムアウトするため注意

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

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

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

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