API 文档 - ginkgo


ginkgo\Upload

文件上传处理


类摘要

namespace ginkgo;

class Upload {
    // 属性
    public $config    = array();
    public $limitSize = 0;
    public $error;
    public $rule = 'md5';
    public $mimeRows = array();
    public $fileInfo = array(
        'name'      => '',
        'tmp_name'  => '',
        'ext'       => '',
        'mime'      => '',
        'size'      => 0,
    );

    protected static $instance;

    private $configThis     = array(
        'limit_size'    => 200,
        'limit_unit'    => 'kb',
    );

    private $obj_file;

    // 方法
    public static instance( [ array $config ] ) : object
    public config( array $config )
    public create( string $name ) : mixed
    public limit( [ mixed $size = false ] ) : int
    public move( string $dir [, $name = true [, $replace = true ]] ) : mixed
    public getMime( string $path [, $mime = false ] ) : string
    public getExt( string $path [, $mime = false ] ) : string
    public getInfo( [ string $name ] ) : mixed
    public getError() : string
    public setMime( mixed $mime [, array $value ] )
    public rule( string $rule )

    protected __construct( array $config ) : object
    protected __clone()

    private errorProcess( int $error_no )
    private genFilename( [ bool $name = true ] ) : string
    private verifyFile( string $ext [, string $mime ] ) : bool
}

成员目录

- 权限 类型 描述
属性 - - -
$config public array 配置
$limitSize public int 允许上传大小
$error public string 错误
$rule public string 生成文件名规则(函数名)
$fileInfo public array 默认 $_FILES 结构
$mimeRows public array MIME 池
$instance protected object static 本类实例
$configThis private array 默认配置
$obj_file private object 文件对象
方法 - - -
instance() public static 实例化
config() public 配置
create() public 创建上传对象
limit() public 设置、获取大小限制
move() public 移动文件
getMime() public 获取文件的 MIME 类型
getExt() public 获取文件的扩展名
getInfo() public 获取文件信息
getError() public 获取错误
setMime() public 设置生成文件名规则(函数名)
rule() public 设置 MIME
__construct() protected instance()
__clone() protected 克隆,无实际功能,仅供限制为单例模式使用
errorProcess() private 错误处理
genFilename() private 生成文件名
verifyFile() private 验证是否为允许的文件

$config 配置,$configThis 默认配置

0.2.0 新增

public $config;
private $configThis;

结构

名称 类型 默认 描述
limit_size int 200 允许上传大小
limit_unit string kb 允许上传单位

config() 配置

0.2.0 新增

public function config( array $config )

参数

返回


create() 创建上传对象

public function create( string $name ) : mixed

参数

  • name 上传 file 类型表单的名称

返回

  • 成功则返回文件信息,失败返回 false

limit() 设置、获取大小限制

public function limit( [ mixed $size = false ] ) : int

参数

  • size 文件大小尺寸

    为空时返回大小,否则设置大小

返回

  • 大小尺寸

move() 移动文件

public function move( string $dir [, $name = true [, $replace = true ]] ) : mixed

参数

  • dir 指定目录
  • name 文件名,true 为自动生成, false 为原始文件名, 字符串为指定文件名
  • replace 是否覆盖

返回

  • 成功返回文件路径,失败返回 false

getError() 获取错误

private function getError() : string

参数

返回

  • 错误

getMime() 获取文件的 MIME 类型

public function getMime( string $path [, $mime = false ] ) : string

参数

  • path 路径
  • mime 手动报告类型

返回

  • MIME 类型

getExt() 获取文件的扩展名

public function getExt( string $path [, $mime = false ] ) : string

参数

  • path 路径
  • mime MIME 类型

返回

  • MIME 类型

getInfo() 获取文件信息

public function getInfo( [ string $name ] ) : mixed

参数

  • name 名称

    为空时返回所有信息

返回

  • 文件信息

setMime() 获取文件的扩展名

public function setMime( mixed $mime [, array $value ] )

参数

  • mime MIME 类型

    支持两种类型:为字符串时表示配置名,为数组时表示批量添加

  • value MIME 值数组

    mime 为字符串时为必须,当 mime 为数组时自动忽略

返回


rule() 获取文件的扩展名

public function rule( string $rule )

参数

  • rule 生成文件名规则(函数名)

返回


errorProcess() 错误处理

private function errorProcess( int $error_no )

参数

  • error_no 错误号

返回


genFilename() 获取文件的扩展名

private function genFilename( [ bool $name = true ] ) : string

参数

  • name true 时按规则生成文件名,false 时使用原始文件名

返回

  • 文件名

verifyFile() 验证是否为允许的文件

private function verifyFile( string $ext [, string $mime ] ) : bool

参数

  • ext 扩展名
  • mime MIME

返回

  • 布尔值