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

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

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

php.iniを確認する

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

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

 

 

  

   

   

  

   

   

   

   

設定値名 内容 初期値 備考
file_uploads ファイルアップロードの許可 ON OFFになっているとファイルのアップロードが自体が出来ない
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側で設定してしまってる場合があります。

この記事を書いた人

アバター

グローディア 株式会社

グローディア株式会社アカウントです。