Upload 配置 - 类別
优质
小牛编辑
134浏览
2023-12-01
Upload 类别可以安全地处理被上传到应用程序的档案。 它能让你用不同的方式过滤上传、定义目标档案名称应该像怎样、或过滤档案名称的大小或长度。
配置
Upload 类别是透过 fuel/core/config/upload.php 配置档案进行配置。它已经填充了一个预设配置群组。你可以藉由複製此配置档案到你的应用程序 config 目录,并根据需求修改该档案,以覆写此配置群组并添加新群组。
以下的配置设定可以被定义:
参数 | 类型 | 预设 | 描述 |
---|---|---|---|
auto_process | 布林 |
| 如果为 true,只要你使用 Upload 类别,上传的档案将被使用储存在配置档案的配置验证。 |
max_size | 整数 |
| 每个上传档案的最大大小(以位元组为单位)。要停用最大尺寸的限制,设定此参数为 0。 |
ext_whitelist | 阵列 |
| 允许的副档名阵列。如果为空或没定义,所有副档名都被允许。 副档名需要被定义为只有小写。如果上传的档案是大写, 它的副档名将以小写字母针对白名单比对。 |
ext_blacklist | 阵列 |
| 不允许的副档名阵列。如果为空或没定义,所有副档名都被允许。 副档名需要被定义为只有小写。如果上传的档案是大写, 它的副档名将以小写字母针对黑名单比对。 |
type_whitelist | 阵列 |
| 允许的档案类型阵列。如果为空或没定义,所有档案类型都被允许。 档案类型是档案 MIME 类型斜线前的部份。因此如果 MIME 类型是 "text/plain",添加 "text" 到此阵列来允许此类型的档案。 |
type_blacklist | 阵列 |
| 不允许的档案类型阵列。如果为空或没定义,所有档案类型都被允许。 |
mime_whitelist | 阵列 |
| 允许的档案 MIME 类型阵列。如果为空或没定义,所有档案 MIME 类型都被允许。 |
mime_blacklist | 阵列 |
| 不允许的档案 MIME 类型阵列。如果为空或没定义,所有档案 MIME 类型都被允许。 |
prefix | 字串 |
| 当你储存一个上传的档案时,档案名称将以此字串前缀。 |
suffix | 字串 |
| 当你储存一个上传的档案时,档案名称将以此字串后缀。 |
extension | 字串 |
| 当你储存一个上传的档案时,档案名称的副档名将被此字串取代。 |
path | 字串 |
| 要储存上传档案的路径。 |
create_path | 布林 |
| 如果为 true,定义的路径将被建立如果不存在的话。 Upload 类别支援目录递迴的建立,因此,如果权限设置妥当,任何路径可以被建立。 |
path_chmod | 整数 |
| 在路径被建立后,要被设定的权限。这个值必须被定义为八进位制,开头有 0。 |
file_chmod | 整数 |
| 在上传档案被储存到定义的路径之后,要被设定的权限。这个值必须被定义为八进位制,开头有 0。 |
auto_rename | 布林 |
| 如果为 true,在档案已经存在于指定路径时,档案名称将被后缀一个流水号。该流水号将是下一个可用的数字,从 1 开始。 |
overwrite | 布林 |
| 如果为 true,当储存时档案已存在,该档案将被覆写。此设定将被忽略如果 'auto_rename' 为 true。 |
randomize | 布林 |
| 如果为 true,当储存时,档案将被指派为一个 32 字元的名称(一个 MD5 字串)。其他设定仍会被套用。 |
normalize | 布林 |
| 如果为 true,档案名称将被转换为一个 ASCII 名称,并且在储存时,所有空白会被底线取代。 |
normalize_separator | 字串 |
| 如果你已经设定 normalize 为 true ,你可以更改空白要变为什幺,而不是预设的底线。 |
max_length | 整数 |
| 档案名称的最大长度。这是计算在所有档案名称选项被处理之后,要储存的档案名称,要停用最大尺寸的限制,设定此参数为 0。 |
new_name | 字串 | 无 | 新的档案名称。此设定没有设定在预设配置,但支援 Upload::process 配置。新名称将不会覆盖前缀和后缀。 注意:上传多个档案时,确保 auto_rename 设定是设为 true,以避免多个上传覆写相同的目标档案! |
change_case | 布林 | false | 此选项能让你强迫档案名称的大小写。可能的值有 'upper' 和 'lower'。 |
警告:如果你打算手动呼叫 Upload::process(),确保 auto_process 是设为 false。否则,上传的档案会被处理两次,而以重複的档案条目为结果。