Yii Framework v1.1.10 绫诲弬鑰

CUploadedFile

system.web
缁ф壙 class CUploadedFile » CComponent
婧愯嚜 1.0
鐗堟湰 $Id: CUploadedFile.php 3515 2011-12-28 12:29:24Z mdomba $
婧愮爜 framework/web/CUploadedFile.php
CUploadedFile represents the information for an uploaded file.

Call getInstance to retrieve the instance of an uploaded file, and then use saveAs to save it on the server. You may also query other information about the file, including name, tempName, type, size and error.

鍏叡灞炴

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
error integer Returns an error code describing the status of this file uploading. CUploadedFile
extensionName string the file extension name for name. CUploadedFile
hasError boolean whether there is an error with the uploaded file. CUploadedFile
name string the original name of the file being uploaded CUploadedFile
size integer the actual size of the uploaded file in bytes CUploadedFile
tempName string the path of the uploaded file on the server. CUploadedFile
type string the MIME-type of the uploaded file (such as "image/gif"). CUploadedFile

鍏叡鏂规硶

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
__call() 濡傛灉绫讳腑娌℃湁璋冪殑鏂规硶鍚嶏紝鍒欒皟鐢ㄨ繖涓柟娉曘 CComponent
__construct() Constructor. CUploadedFile
__get() 杩斿洖涓涓睘鎬у笺佷竴涓簨浠跺鐞嗙▼搴忓垪琛ㄦ垨涓涓涓哄悕绉般 CComponent
__isset() 妫鏌ヤ竴涓睘鎬ф槸鍚︿负null銆 CComponent
__set() 璁剧疆涓涓粍浠剁殑灞炴у笺 CComponent
__toString() String output. CUploadedFile
__unset() 璁剧疆涓涓粍浠剁殑灞炴т负null銆 CComponent
asa() 杩斿洖杩欎釜鍚嶅瓧鐨勮涓哄璞° CComponent
attachBehavior() 闄勫姞涓涓涓哄埌缁勪欢銆 CComponent
attachBehaviors() 闄勫姞涓涓涓哄垪琛ㄥ埌缁勪欢銆 CComponent
attachEventHandler() 涓轰簨浠堕檮鍔犱竴涓簨浠跺鐞嗙▼搴忋 CComponent
canGetProperty() 纭畾灞炴ф槸鍚﹀彲璇汇 CComponent
canSetProperty() 纭畾灞炴ф槸鍚﹀彲鍐欍 CComponent
detachBehavior() 浠庣粍浠朵腑鍒嗙涓涓涓恒 CComponent
detachBehaviors() 浠庣粍浠朵腑鍒嗙鎵鏈夎涓恒 CComponent
detachEventHandler() 鍒嗙涓涓瓨鍦ㄧ殑浜嬩欢澶勭悊绋嬪簭銆 CComponent
disableBehavior() 绂佺敤涓涓檮鍔犺涓恒 CComponent
disableBehaviors() 绂佺敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
enableBehavior() 鍚敤涓涓檮鍔犺涓恒 CComponent
enableBehaviors() 鍚敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
evaluateExpression() 璁$畻涓涓狿HP琛ㄨ揪寮忥紝鎴栨牴鎹粍浠朵笂涓嬫枃鎵ц鍥炶皟銆 CComponent
getError() Returns an error code describing the status of this file uploading. CUploadedFile
getEventHandlers() 杩斿洖涓涓簨浠剁殑闄勫姞澶勭悊绋嬪簭鍒楄〃銆 CComponent
getExtensionName() 杩斿洖the file extension name for name. The extension name does not include the dot character. An empty string is returned if name does not have an extension name. CUploadedFile
getHasError() 杩斿洖whether there is an error with the uploaded file. Check error for detailed error code information. CUploadedFile
getInstance() Returns an instance of the specified uploaded file. CUploadedFile
getInstanceByName() Returns an instance of the specified uploaded file. CUploadedFile
getInstances() Returns all uploaded files for the given model attribute. CUploadedFile
getInstancesByName() Returns an array of instances for the specified array name. CUploadedFile
getName() 杩斿洖the original name of the file being uploaded CUploadedFile
getSize() 杩斿洖the actual size of the uploaded file in bytes CUploadedFile
getTempName() 杩斿洖the path of the uploaded file on the server. Note, this is a temporary file which will be automatically deleted by PHP after the current request is processed. CUploadedFile
getType() 杩斿洖the MIME-type of the uploaded file (such as "image/gif"). Since this MIME type is not checked on the server side, do not take this value for granted. Instead, use CFileHelper::getMimeType to determine the exact MIME type. CUploadedFile
hasEvent() 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 CComponent
hasEventHandler() 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 CComponent
hasProperty() 纭畾灞炴ф槸鍚﹁瀹氫箟銆 CComponent
raiseEvent() 鍙戣捣涓涓簨浠躲 CComponent
reset() Cleans up the loaded CUploadedFile instances. CUploadedFile
saveAs() Saves the uploaded file. CUploadedFile

鍙椾繚鎶ゆ柟娉

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
collectFilesRecursive() Processes incoming files for getInstanceByName. CUploadedFile
prefetchFiles() Initially processes $_FILES superglobal for easier use. CUploadedFile

灞炴ц缁

error 灞炴 鍙
public integer getError()

Returns an error code describing the status of this file uploading.

extensionName 灞炴 鍙
public string getExtensionName()

the file extension name for name. The extension name does not include the dot character. An empty string is returned if name does not have an extension name.

hasError 灞炴 鍙
public boolean getHasError()

whether there is an error with the uploaded file. Check error for detailed error code information.

name 灞炴 鍙
public string getName()

the original name of the file being uploaded

size 灞炴 鍙
public integer getSize()

the actual size of the uploaded file in bytes

tempName 灞炴 鍙
public string getTempName()

the path of the uploaded file on the server. Note, this is a temporary file which will be automatically deleted by PHP after the current request is processed.

type 灞炴 鍙
public string getType()

the MIME-type of the uploaded file (such as "image/gif"). Since this MIME type is not checked on the server side, do not take this value for granted. Instead, use CFileHelper::getMimeType to determine the exact MIME type.

鏂规硶璇︾粏

__construct() 鏂规硶
public void __construct(string $name, string $tempName, string $type, integer $size, integer $error)
$name string the original name of the file being uploaded
$tempName string the path of the uploaded file on the server.
$type string the MIME-type of the uploaded file (such as "image/gif").
$size integer the actual size of the uploaded file in bytes
$error integer the error code
婧愮爜锛 framework/web/CUploadedFile.php#165 (鏄剧ず)
public function __construct($name,$tempName,$type,$size,$error)
{
    
$this->_name=$name;
    
$this->_tempName=$tempName;
    
$this->_type=$type;
    
$this->_size=$size;
    
$this->_error=$error;
}

Constructor. Use getInstance to get an instance of an uploaded file.

__toString() 鏂规硶
public string __toString()
{return} string the string representation of the object
婧愮爜锛 framework/web/CUploadedFile.php#180 (鏄剧ず)
public function __toString()
{
    return 
$this->_name;
}

String output. This is PHP magic method that returns string representation of an object. The implementation here returns the uploaded file's name.

collectFilesRecursive() 鏂规硶
protected static void collectFilesRecursive(string $key, mixed $names, mixed $tmp_names, mixed $types, mixed $sizes, mixed $errors)
$key string key for identifiing uploaded file: class name and subarray indexes
$names mixed file names provided by PHP
$tmp_names mixed temporary file names provided by PHP
$types mixed filetypes provided by PHP
$sizes mixed file sizes provided by PHP
$errors mixed uploading issues provided by PHP
婧愮爜锛 framework/web/CUploadedFile.php#145 (鏄剧ず)
protected static function collectFilesRecursive($key$names$tmp_names$types$sizes$errors)
{
    if(
is_array($names))
    {
        foreach(
$names as $item=>$name)
            
self::collectFilesRecursive($key.'['.$item.']'$names[$item], $tmp_names[$item], $types[$item], $sizes[$item], $errors[$item]);
    }
    else
        
self::$_files[$key] = new CUploadedFile($names$tmp_names$types$sizes$errors);
}

Processes incoming files for getInstanceByName.

getError() 鏂规硶
public integer getError()
{return} integer the error code
婧愮爜锛 framework/web/CUploadedFile.php#248 (鏄剧ず)
public function getError()
{
    return 
$this->_error;
}

Returns an error code describing the status of this file uploading.

getExtensionName() 鏂规硶
public string getExtensionName()
{return} string the file extension name for name. The extension name does not include the dot character. An empty string is returned if name does not have an extension name.
婧愮爜锛 framework/web/CUploadedFile.php#267 (鏄剧ず)
public function getExtensionName()
{
    if((
$pos=strrpos($this->_name,'.'))!==false)
        return (string)
substr($this->_name,$pos+1);
    else
        return 
'';
}

getHasError() 鏂规硶
public boolean getHasError()
{return} boolean whether there is an error with the uploaded file. Check error for detailed error code information.
婧愮爜锛 framework/web/CUploadedFile.php#257 (鏄剧ず)
public function getHasError()
{
    return 
$this->_error!=UPLOAD_ERR_OK;
}

getInstance() 鏂规硶
public static CUploadedFile getInstance(CModel $model, string $attribute)
$model CModel the model instance
$attribute string the attribute name. For tabular file uploading, this can be in the format of "[$i]attributeName", where $i stands for an integer index.
{return} CUploadedFile the instance of the uploaded file. Null is returned if no file is uploaded for the specified model attribute.
婧愮爜锛 framework/web/CUploadedFile.php#58 (鏄剧ず)
public static function getInstance($model$attribute)
{
    return 
self::getInstanceByName(CHtml::resolveName($model$attribute));
}

Returns an instance of the specified uploaded file. The file should be uploaded using CHtml::activeFileField.

鍙傝

getInstanceByName() 鏂规硶
public static CUploadedFile getInstanceByName(string $name)
$name string the name of the file input field.
{return} CUploadedFile the instance of the uploaded file. Null is returned if no file is uploaded for the specified name.
婧愮爜锛 framework/web/CUploadedFile.php#82 (鏄剧ず)
public static function getInstanceByName($name)
{
    if(
null===self::$_files)
        
self::prefetchFiles();

    return isset(
self::$_files[$name]) && self::$_files[$name]->getError()!=UPLOAD_ERR_NO_FILE self::$_files[$name] : null;
}

Returns an instance of the specified uploaded file. The name can be a plain string or a string like an array element (e.g. 'Post[imageFile]', or 'Post[0][imageFile]').

getInstances() 鏂规硶
public static array getInstances(CModel $model, string $attribute)
$model CModel the model instance
$attribute string the attribute name. For tabular file uploading, this can be in the format of "[$i]attributeName", where $i stands for an integer index.
{return} array array of CUploadedFile objects. Empty array is returned if no available file was found for the given attribute.
婧愮爜锛 framework/web/CUploadedFile.php#70 (鏄剧ず)
public static function getInstances($model$attribute)
{
    return 
self::getInstancesByName(CHtml::resolveName($model$attribute));
}

Returns all uploaded files for the given model attribute.

getInstancesByName() 鏂规硶
public static array getInstancesByName(string $name)
$name string the name of the array of files
{return} array the array of CUploadedFile objects. Empty array is returned if no adequate upload was found. Please note that this array will contain all files from all subarrays regardless how deeply nested they are.
婧愮爜锛 framework/web/CUploadedFile.php#100 (鏄剧ず)
public static function getInstancesByName($name)
{
    if(
null===self::$_files)
        
self::prefetchFiles();

    
$len=strlen($name);
    
$results=array();
    foreach(
array_keys(self::$_files) as $key)
        if(
0===strncmp($key$name$len) && self::$_files[$key]->getError()!=UPLOAD_ERR_NO_FILE)
            
$results[] = self::$_files[$key];
    return 
$results;
}

Returns an array of instances for the specified array name.

If multiple files were uploaded and saved as 'Files[0]', 'Files[1]', 'Files[n]'..., you can have them all by passing 'Files' as array name.

getName() 鏂规硶
public string getName()
{return} string the original name of the file being uploaded
婧愮爜锛 framework/web/CUploadedFile.php#210 (鏄剧ず)
public function getName()
{
    return 
$this->_name;
}

getSize() 鏂规硶
public integer getSize()
{return} integer the actual size of the uploaded file in bytes
婧愮爜锛 framework/web/CUploadedFile.php#238 (鏄剧ず)
public function getSize()
{
    return 
$this->_size;
}

getTempName() 鏂规硶
public string getTempName()
{return} string the path of the uploaded file on the server. Note, this is a temporary file which will be automatically deleted by PHP after the current request is processed.
婧愮爜锛 framework/web/CUploadedFile.php#220 (鏄剧ず)
public function getTempName()
{
    return 
$this->_tempName;
}

getType() 鏂规硶
public string getType()
{return} string the MIME-type of the uploaded file (such as "image/gif"). Since this MIME type is not checked on the server side, do not take this value for granted. Instead, use CFileHelper::getMimeType to determine the exact MIME type.
婧愮爜锛 framework/web/CUploadedFile.php#230 (鏄剧ず)
public function getType()
{
    return 
$this->_type;
}

prefetchFiles() 鏂规硶
protected static void prefetchFiles()
婧愮爜锛 framework/web/CUploadedFile.php#127 (鏄剧ず)
protected static function prefetchFiles()
{
    
self::$_files = array();
    if(!isset(
$_FILES) || !is_array($_FILES))
        return;

    foreach(
$_FILES as $class=>$info)
        
self::collectFilesRecursive($class$info['name'], $info['tmp_name'], $info['type'], $info['size'], $info['error']);
}

Initially processes $_FILES superglobal for easier use. Only for internal usage.

reset() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.4锛
public static void reset()
婧愮爜锛 framework/web/CUploadedFile.php#118 (鏄剧ず)
public static function reset()
{
    
self::$_files=null;
}

Cleans up the loaded CUploadedFile instances. This method is mainly used by test scripts to set up a fixture.

saveAs() 鏂规硶
public boolean saveAs(string $file, boolean $deleteTempFile=true)
$file string the file path used to save the uploaded file
$deleteTempFile boolean whether to delete the temporary file after saving. If true, you will not be able to save the uploaded file again in the current request.
{return} boolean true whether the file is saved successfully
婧愮爜锛 framework/web/CUploadedFile.php#192 (鏄剧ず)
public function saveAs($file,$deleteTempFile=true)
{
    if(
$this->_error==UPLOAD_ERR_OK)
    {
        if(
$deleteTempFile)
            return 
move_uploaded_file($this->_tempName,$file);
        else if(
is_uploaded_file($this->_tempName))
            return 
copy($this->_tempName$file);
        else
            return 
false;
    }
    else
        return 
false;
}

Saves the uploaded file.

Copyright © 2008-2011 by Yii Software LLC
All Rights Reserved.