Class yii\web\UploadedFile

继承yii\web\UploadedFile » yii\base\BaseObject
实现yii\base\Configurable
可用自版本2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/web/UploadedFile.php

UploadedFile 表示上传文件的信息.

你可以调用 getInstance() 来检索上传文件的实例, 然后使用 saveAs() 将其保存在服务器上. 你也可以查询有关该文件的其它信息, 包括 $name, $tempName, $type, $size$error.

有关 UploadedFile 的更多详细信息和使用信息, 请参阅 权威指南 - 接收用户数据 - 文件上传(Uploading Files).

公共属性

隐藏继承的属性

属性类型描述定义在
$baseName string 原始文件的基本名称. 该属性是只读的. yii\web\UploadedFile
$error integer 描述该文件上传状态的错误代码. yii\web\UploadedFile
$extension string 文件扩展名. 该属性是只读的. yii\web\UploadedFile
$hasError boolean 上传的文件是否有错误. 检查 $error 以获取详细的错误代码信息. 该属性是只读的. yii\web\UploadedFile
$name string 正在上传的文件的原始名称. yii\web\UploadedFile
$size integer 上传文件的实际大小(以字节为单位). yii\web\UploadedFile
$tempName string 上传文件在服务器上的路径. yii\web\UploadedFile
$type string 上传文件的 MIME 类型(如:image/gif). yii\web\UploadedFile

公共方法

隐藏继承的方法

方法描述定义在
__call() 调用不是类方法的已命名方法. yii\base\BaseObject
__construct() UploadedFile 构造函数. yii\web\UploadedFile
__get() 返回对象属性的值. yii\base\BaseObject
__isset() 检查属性是否已设置, 即已定义且不为null. yii\base\BaseObject
__set() 设置对象属性的值. yii\base\BaseObject
__toString() 字符串输出. yii\web\UploadedFile
__unset() 将对象属性设置为null. yii\base\BaseObject
canGetProperty() 返回一个值, 指示属性是否可读. yii\base\BaseObject
canSetProperty() 返回一个值, 指示属性是否可写. yii\base\BaseObject
className() 返回此类的完全限定名称. yii\base\BaseObject
getBaseName() 返回原始文件的基本名称. yii\web\UploadedFile
getExtension() 返回文件扩展名. yii\web\UploadedFile
getHasError() 判断上传的文件是否有错误. yii\web\UploadedFile
getInstance() 返回给定模型属性的上传文件. yii\web\UploadedFile
getInstanceByName() 根据给定的文件输入名称返回上传的文件. yii\web\UploadedFile
getInstances() 返回给定模型属性的所有上传文件. yii\web\UploadedFile
getInstancesByName() 返回与指定文件输入名称对应的上传文件的数组. yii\web\UploadedFile
hasMethod() 返回一个值, 指示方法是否已定义. yii\base\BaseObject
hasProperty() 返回一个值, 指示属性是否已定义. yii\base\BaseObject
init() 初始化对象. yii\base\BaseObject
reset() 清理已加载的 UploadedFile 实例. yii\web\UploadedFile
saveAs() 保存上传的文件. yii\web\UploadedFile

受保护的方法

隐藏继承的方法

方法描述定义在
copyTempFile() 将临时文件复制到指定的文件中. yii\web\UploadedFile

属性详情

$baseName public 属性

原始文件的基本名称. 该属性是只读的.

public string $baseName null
$error public 属性

描述该文件上传状态的错误代码.

参见 https://secure.php.net/manual/en/features.file-upload.errors.php.

public integer $error null
$extension public 属性

文件扩展名. 该属性是只读的.

public string $extension null
$hasError public 属性

上传的文件是否有错误. 检查 $error 以获取详细的错误代码信息. 该属性是只读的.

public boolean $hasError null
$name public 属性

正在上传的文件的原始名称.

public string $name null
$size public 属性

上传文件的实际大小(以字节为单位).

public integer $size null
$tempName public 属性

上传文件在服务器上的路径.

Note: 这是一个临时文件, 在处理完当前请求后, 它将被 PHP 自动删除.

public string $tempName null
$type public 属性

上传文件的 MIME 类型(如:image/gif).

由于未在服务器端检查此 MIME 类型, 因此请不要理会此值.

相反, 应使用 yii\helpers\FileHelper::getMimeType() 来确定精确的 MIME 类型.

public string $type null

方法详情

__construct() public 方法

UploadedFile 构造函数.

public void __construct ( $config = [] )
$config array

将用于初始化对象属性的 name-value 对.

__toString() public 方法

字符串输出.

这是返回对象的字符串表示形式的 PHP 魔术方法. 此处的实现返回上传文件的名称.

public string __toString ( )
return string

对象的字符串表示形式.

copyTempFile() protected 方法 (可用自版本: 2.0.32)

将临时文件复制到指定的文件中.

protected boolean|integer copyTempFile ( $targetFile )
$targetFile string

要复制到的文件的路径

return boolean|integer

复制的字节总数; 如果失败, 则返回false.

getBaseName() public 方法

返回原始文件的基本名称.

public string getBaseName ( )
return string

原始文件的基本名称.

getExtension() public 方法

返回文件扩展名.

public string getExtension ( )
return string

文件扩展名.

getHasError() public 方法

判断上传的文件是否有错误.

public boolean getHasError ( )
return boolean

上传的文件是否有错误. 检查 $error 以获取详细的错误代码信息.

getInstance() public static 方法

返回给定模型属性的上传文件.

应使用 yii\widgets\ActiveField::fileInput() 上传文件.

参见 getInstanceByName().

public static null|yii\web\UploadedFile getInstance ( $model, $attribute )
$model yii\base\Model

数据模型.

$attribute string

属性名称. 属性名称可能包含数组索引. 例如, [1]file表示表格文件上传; file[1]表示文件数组中的元素.

return null|yii\web\UploadedFile

上传文件的实例. 如果没有为指定的模型属性上传任何文件, 则返回null.

getInstanceByName() public static 方法

根据给定的文件输入名称返回上传的文件.

名称可以是纯字符串, 也可以时类似于数组元素的字符串(eg. Post[imageFile], 或Post[0][imageFile]).

public static null|yii\web\UploadedFile getInstanceByName ( $name )
$name string

文件输入字段的名称.

return null|yii\web\UploadedFile

上传文件的实例. 如果没有上传指定名称的文件, 则返回null.

getInstances() public static 方法

返回给定模型属性的所有上传文件.

public static yii\web\UploadedFile[] getInstances ( $model, $attribute )
$model yii\base\Model

数据模型.

$attribute string

属性名称. 属性名称可能包含用于表格文件上传的数组索引, eg. [1]file.

return yii\web\UploadedFile[]

UploadedFile 对象数组. 如果找不到给定属性的可用文件, 则返回空数组.

getInstancesByName() public static 方法

返回与指定文件输入名称对应的上传文件的数组.

主要在上传多个文件并将其另存为files[0], files[1], files[n]...时使用, 你可以通过传递'files'作为名称来检索它们.

public static yii\web\UploadedFile[] getInstancesByName ( $name )
$name string

文件数组的名称.

return yii\web\UploadedFile[]

UploadedFile 对象的数组. 如果找不到足够的上传, 则返回空数组. 请注意, 此数组将包含来自所有子数组种的所有文件, 无论它们嵌套的深度如何.

reset() public static 方法

清理已加载的 UploadedFile 实例.

测试脚本主要使用该方法来设置fixture(夹具).

public static void reset ( )
saveAs() public 方法

保存上传的文件.

Note: 如果目标文件$file已经存在, 它将被覆盖.

参见 $error.

public boolean saveAs ( $file, $deleteTempFile true )
$file string

用于保存上传文件的文件路径或路径别名.

$deleteTempFile boolean

是否在保存后删除临时文件. 如果为true, 那么你将无法在当前请求中再次保存上传的文件.

return boolean

文件是否已成功保存.