ファイルのアップロード時にこける
PHPを使用してファイルをアッロードするとこける・・・
サーバを参照してもアップしたファイルが見当たらない。
$_FILES['userfile']['error']
にアクセスするとエラーコード「1」と出ている。
どうやらアップロード上限を超えているらしいです。
php.iniを確認する
|
1 2 3 4 5 |
; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize=2M |
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側で設定してしまってる場合があります。
|
1 2 |
<input name="MAX_FILE_SIZE" value="100000"> |
