Upload クラス
Upload クラスは、アプリケーションにアップロードされたファイルを安全に処理することを可能にします。 様々な方法でアップロードをフィルタすることができます。目的のファイル名を定義したり、ファイルサイズやファイル名の長さでフィルタしたりできます。
設定
Upload クラスは、fuel/core/config/upload.php 設定ファイルで設定します。デフォルト設定されています。設定を変更したい場合は、設定ファイルをアプリケーションディレクトリにコピーし、 そのファイルを変更してください。
以下の設定が定義されています。
| パラメータ | 型 | デフォルト | 説明 |
|---|---|---|---|
| auto_process | boolean | |
true の場合、 Upload クラスを使用するときに、設定ファイルの設定を使用してアップロードされたファイルを検証します。 |
| max_size | integer | |
それぞれのファイルアップロードの最大サイズをバイトで指定する。制限無にする場合は、この値を 0 にする。 |
| ext_whitelist | array | |
許可されるファイル拡張子の配列。空または未定義の場合、すべての拡張子を許可する。 拡張子は小文字で定義する必要がある。拡張子大文字のファイルがアップロードされた場合、 小文字の拡張子と照合される。 |
| ext_blacklist | array | |
許可しないファイル拡張子の配列。空または未定義の場合、すべての拡張子を許可する。 拡張子は小文字で定義する必要がある。拡張子大文字のファイルがアップロードされた場合、 小文字の拡張子と照合される。 |
| type_whitelist | array | |
許可されるファイルタイプの配列。空または未定義の場合、すべてのファイルタイプを許可する。 ファイルタイプは、mimetype のスラッシュより前の部分である。mimetype が "text/plain" の場合、配列に "text" を追加すると、このファイルタイプが許可される。 |
| type_blacklist | array | |
許可しないファイルタイプの配列。空または未定義の場合、すべてのファイルタイプを許可する。 |
| mime_whitelist | array | |
許可される mimetype の配列。 空または未定義の場合、すべての mimetype を許可する。 |
| mime_blacklist | array | |
許可しない mimetype の配列。 空または未定義の場合、すべての mimetype を許可する。 |
| prefix | string | |
アップロードされたファイルを保存するときに、この文字列をファイル名の先頭に付加する。 |
| suffix | string | |
アップロードされたファイルを保存するときに、この文字列をファイル名の末尾に付加する。 |
| extension | string | |
アップロードされたファイルを保存するときに、ファイル名の拡張子をこの文字列に置き換える。 |
| path | string | |
アップロードされたファイルを保存するパス。 |
| create_path | boolean | |
true の場合、定義されたパスが存在しなければ作成する。 Upload クラスは再帰的にディレクトリを作成することをサポートする。パーミッションが適切に設定されている場合、任意のパスが作成できる。 |
| path_chmod | integer | |
作成されたパスのパーミッション。先頭に 0 を置き、8 進数で定義する。 |
| file_chmod | integer | |
定義されたパスに、アップロードされたファイルを保存するときのファイルのパーミッション。先頭に 0 を置き、8 進数で定義する。 |
| auto_rename | boolean | |
true の場合、指定したパスに同名のファイルが既に存在するとき、ファイル名の末尾に連番を付加する。連番は 1 から順に割り振る。 |
| overwrite | boolean | |
true の場合、同名のファイルが既に存在するとき、上書きする。ただし 'auto_rename' が true の場合は、この設定は無視される。 |
| randomize | boolean | |
true の場合、ファイル名は 32 桁のランダム文字 (MD5 文字列) が割り当てられる。他の設定は有効。 |
| normalize | boolean | |
true の場合、ファイル名は ASCII に変換され、スペースはアンダースコアに変換される。 |
| normalize_separator | string | |
normalize を true に設定した場合、スペースを変換する文字 (デフォルトではアンダースコア) を指定する。
|
| max_length | integer | |
ファイル名の最大の長さ。ファイル名に関するオプションすべてを処理した後に判定する。制限無にする場合は、このパラメータを 0 にする。 |
| new_name | string | none |
新しいファイル名。この設定はデフォルトでは設定されていないが、Upload::process で提供されている。新しいファイル名は prefix と suffix を上書きしない。 注意: 複数のファイルをアップロードするとき、新しいファイル名を使用する場合は auto_rename を必ず true に設定する。 |
| change_case | boolean | false |
ファイル名の大文字小文字を指定するオプション。'upper' と 'lower' が設定可能。 |
注意: Upload::process() を主導で呼び出す場合、auto_process を false に設定するようにしてください。そうしないと、ファイルアップロードが二回実行されてファイルが重複することになります。