Upload クラス

Upload クラスは、アプリケーションにアップロードされたファイルを安全に処理することを可能にします。 様々な方法でアップロードをフィルタすることができます。目的のファイル名を定義したり、ファイルサイズやファイル名の長さでフィルタしたりできます。

設定

Upload クラスは、fuel/core/config/upload.php 設定ファイルで設定します。デフォルト設定されています。設定を変更したい場合は、設定ファイルをアプリケーションディレクトリにコピーし、 そのファイルを変更してください。

以下の設定が定義されています。

パラメータ 規定値 説明
auto_process boolean
true
true の場合、 Upload クラスを使用するときに、設定ファイルの設定を使用してアップロードされたファイルを検証します。
max_size integer
0
それぞれのファイルアップロードの最大サイズをバイトで指定する。制限無にする場合は、この値を 0 にする。
ext_whitelist array
array()
許可されるファイル拡張子の配列。空または未定義の場合、すべての拡張子を許可する。 拡張子は小文字で定義する必要がある。拡張子大文字のファイルがアップロードされた場合、 小文字の拡張子と照合される。
ext_blacklist array
array()
許可しないファイル拡張子の配列。空または未定義の場合、すべての拡張子を許可する。 拡張子は小文字で定義する必要がある。拡張子大文字のファイルがアップロードされた場合、 小文字の拡張子と照合される。
type_whitelist array
array()
許可されるファイルタイプの配列。空または未定義の場合、すべてのファイルタイプを許可する。 ファイルタイプは、mimetype のスラッシュより前の部分である。mimetype が "text/plain" の場合、配列に "text" を追加すると、このファイルタイプが許可される。
type_blacklist array
array()
許可しないファイルタイプの配列。空または未定義の場合、すべてのファイルタイプを許可する。
mime_whitelist array
array()
許可される mimetype の配列。 空または未定義の場合、すべての mimetype を許可する。
mime_blacklist array
array()
許可しない mimetype の配列。 空または未定義の場合、すべての mimetype を許可する。
prefix string
''
アップロードされたファイルを保存するときに、この文字列をファイル名の先頭に付加する。
suffix string
''
アップロードされたファイルを保存するときに、この文字列をファイル名の末尾に付加する。
extension string
''
アップロードされたファイルを保存するときに、ファイル名の拡張子をこの文字列に置き換える。
path string
''
アップロードされたファイルを保存するパス。
create_path boolean
true
true の場合、定義されたパスが存在しなければ作成する。 Upload クラスは再帰的にディレクトリを作成することをサポートする。パーミッションが適切に設定されている場合、任意のパスが作成できる。
path_chmod integer
0777
作成されたパスのパーミッション。先頭に 0 を置き、8 進数で定義する。
file_chmod integer
0666
定義されたパスに、アップロードされたファイルを保存するときのファイルのパーミッション。先頭に 0 を置き、8 進数で定義する。
auto_rename boolean
true
true の場合、指定したパスに同名のファイルが既に存在するとき、ファイル名の末尾に連番を付加する。連番は 1 から順に割り振る。
overwrite boolean
false
true の場合、同名のファイルが既に存在するとき、上書きする。ただし 'auto_rename' が true の場合は、この設定は無視される。
randomize boolean
false
true の場合、ファイル名は 32 桁のランダム文字 (MD5 文字列) が割り当てられる。他の設定は有効。
normalize boolean
false
true の場合、ファイル名は ASCII に変換され、スペースはアンダースコアに変換される。
normalize_separator string
'_'
normalize を true に設定した場合、スペースを変換する文字 (デフォルトではアンダースコア) を指定する。
max_length integer
0
ファイル名の最大の長さ。ファイル名に関するオプションすべてを処理した後に判定する。制限無にする場合は、このパラメータを 0 にする。
new_name string none

新しいファイル名。この設定はデフォルトでは設定されていないが、Upload::process で提供されている。新しいファイル名は prefix と suffix を上書きしない。

注意: 複数のファイルをアップロードするとき、新しいファイル名を使用する場合は auto_rename を必ず true に設定する。

change_case boolean false

This option allows you to force a case on the filename. Possible values are 'upper' and 'lower'.