Yii Framework v1.1.10 绫诲弬鑰

CHttpRequest

system.web
缁ф壙 class CHttpRequest » CApplicationComponent » CComponent
瀹炵幇 IApplicationComponent
婧愯嚜 1.0
鐗堟湰 $Id: CHttpRequest.php 3560 2012-02-10 14:13:00Z mdomba $
婧愮爜 framework/web/CHttpRequest.php
CHttpRequest encapsulates the $_SERVER variable and resolves its inconsistency among different Web servers.

CHttpRequest also manages the cookies sent from and sent to the user. By setting enableCookieValidation to true, cookies sent from the user will be validated to see if they are tampered. The property cookies returns the collection of cookies. For more details, see CCookieCollection.

CHttpRequest is a default application component loaded by CWebApplication. It can be accessed via CWebApplication::getRequest().

鍏叡灞炴

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
acceptTypes string Returns user browser accept types, null if not present. CHttpRequest
baseUrl string Returns the relative URL for the application. CHttpRequest
behaviors array 杩欎釜搴旂敤缁勪欢闄勫姞鐨勮涓恒 杩欐琛屼负灏嗗湪搴旂敤缁勪欢璋冪敤init鏃堕檮鍔犲湪搴旂敤缁勪欢涓娿 璇峰弬鐓CModel::behaviors濡備綍鎸囧畾姝ゅ睘鎬у笺 CApplicationComponent
browser array Returns information about the capabilities of user browser. CHttpRequest
cookies CCookieCollection Returns the cookie collection. CHttpRequest
csrfCookie array the property values (in name-value pairs) used to initialize the CSRF cookie. CHttpRequest
csrfToken string Returns the random token used to perform CSRF validation. CHttpRequest
csrfTokenName string the name of the token used to prevent CSRF. CHttpRequest
enableCookieValidation boolean whether cookies should be validated to ensure they are not tampered. CHttpRequest
enableCsrfValidation boolean whether to enable CSRF (Cross-Site Request Forgery) validation. CHttpRequest
hostInfo string Returns the schema and host part of the application URL. CHttpRequest
isAjaxRequest boolean Returns whether this is an AJAX (XMLHttpRequest) request. CHttpRequest
isDeleteRequest boolean Returns whether this is a DELETE request. CHttpRequest
isInitialized boolean 妫鏌ュ簲鐢ㄧ粍浠舵槸鍚﹀凡缁忓垵濮嬪寲銆 CApplicationComponent
isPostRequest boolean Returns whether this is a POST request. CHttpRequest
isPutRequest boolean Returns whether this is a PUT request. CHttpRequest
isSecureConnection boolean Return if the request is sent via secure channel (https). CHttpRequest
pathInfo string Returns the path info of the currently requested URL. CHttpRequest
port integer Returns the port to use for insecure requests. CHttpRequest
preferredLanguage string Returns the user preferred language. CHttpRequest
queryString string Returns part of the request URL that is after the question mark. CHttpRequest
requestType string Returns the request type, such as GET, POST, HEAD, PUT, DELETE. CHttpRequest
requestUri string Returns the request URI portion for the currently requested URL. CHttpRequest
scriptFile string Returns entry script file path. CHttpRequest
scriptUrl string Returns the relative URL of the entry script. CHttpRequest
securePort integer Returns the port to use for secure requests. CHttpRequest
serverName string Returns the server name. CHttpRequest
serverPort integer Returns the server port number. CHttpRequest
url string Returns the currently requested URL. CHttpRequest
urlReferrer string Returns the URL referrer, null if not present CHttpRequest
userAgent string Returns the user agent, null if not present. CHttpRequest
userHost string Returns the user host name, null if it cannot be determined. CHttpRequest
userHostAddress string Returns the user IP address. CHttpRequest

鍙椾繚鎶ゅ睘鎬

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
restParams array Returns the PUT or DELETE request parameters. CHttpRequest

鍏叡鏂规硶

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
__call() 濡傛灉绫讳腑娌℃湁璋冪殑鏂规硶鍚嶏紝鍒欒皟鐢ㄨ繖涓柟娉曘 CComponent
__get() 杩斿洖涓涓睘鎬у笺佷竴涓簨浠跺鐞嗙▼搴忓垪琛ㄦ垨涓涓涓哄悕绉般 CComponent
__isset() 妫鏌ヤ竴涓睘鎬ф槸鍚︿负null銆 CComponent
__set() 璁剧疆涓涓粍浠剁殑灞炴у笺 CComponent
__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
getAcceptTypes() Returns user browser accept types, null if not present. CHttpRequest
getBaseUrl() Returns the relative URL for the application. CHttpRequest
getBrowser() Returns information about the capabilities of user browser. CHttpRequest
getCookies() Returns the cookie collection. CHttpRequest
getCsrfToken() Returns the random token used to perform CSRF validation. CHttpRequest
getDelete() Returns the named DELETE parameter value. CHttpRequest
getEventHandlers() 杩斿洖涓涓簨浠剁殑闄勫姞澶勭悊绋嬪簭鍒楄〃銆 CComponent
getHostInfo() Returns the schema and host part of the application URL. CHttpRequest
getIsAjaxRequest() Returns whether this is an AJAX (XMLHttpRequest) request. CHttpRequest
getIsDeleteRequest() Returns whether this is a DELETE request. CHttpRequest
getIsInitialized() 妫鏌ュ簲鐢ㄧ粍浠舵槸鍚﹀凡缁忓垵濮嬪寲銆 CApplicationComponent
getIsPostRequest() Returns whether this is a POST request. CHttpRequest
getIsPutRequest() Returns whether this is a PUT request. CHttpRequest
getIsSecureConnection() Return if the request is sent via secure channel (https). CHttpRequest
getParam() Returns the named GET or POST parameter value. CHttpRequest
getPathInfo() Returns the path info of the currently requested URL. CHttpRequest
getPort() Returns the port to use for insecure requests. CHttpRequest
getPost() Returns the named POST parameter value. CHttpRequest
getPreferredLanguage() Returns the user preferred language. CHttpRequest
getPut() Returns the named PUT parameter value. CHttpRequest
getQuery() Returns the named GET parameter value. CHttpRequest
getQueryString() Returns part of the request URL that is after the question mark. CHttpRequest
getRequestType() Returns the request type, such as GET, POST, HEAD, PUT, DELETE. CHttpRequest
getRequestUri() Returns the request URI portion for the currently requested URL. CHttpRequest
getScriptFile() Returns entry script file path. CHttpRequest
getScriptUrl() Returns the relative URL of the entry script. CHttpRequest
getSecurePort() Returns the port to use for secure requests. CHttpRequest
getServerName() Returns the server name. CHttpRequest
getServerPort() Returns the server port number. CHttpRequest
getUrl() Returns the currently requested URL. CHttpRequest
getUrlReferrer() Returns the URL referrer, null if not present CHttpRequest
getUserAgent() Returns the user agent, null if not present. CHttpRequest
getUserHost() Returns the user host name, null if it cannot be determined. CHttpRequest
getUserHostAddress() Returns the user IP address. CHttpRequest
hasEvent() 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 CComponent
hasEventHandler() 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 CComponent
hasProperty() 纭畾灞炴ф槸鍚﹁瀹氫箟銆 CComponent
init() Initializes the application component. CHttpRequest
raiseEvent() 鍙戣捣涓涓簨浠躲 CComponent
redirect() Redirects the browser to the specified URL. CHttpRequest
sendFile() Sends a file to user. CHttpRequest
setBaseUrl() Sets the relative URL for the application. CHttpRequest
setHostInfo() Sets the schema and host part of the application URL. CHttpRequest
setPort() Sets the port to use for insecure requests. CHttpRequest
setScriptUrl() Sets the relative URL for the application entry script. CHttpRequest
setSecurePort() Sets the port to use for secure requests. CHttpRequest
stripSlashes() Strips slashes from input data. CHttpRequest
validateCsrfToken() Performs the CSRF validation. CHttpRequest
xSendFile() Sends existing file to a browser as a download using x-sendfile. CHttpRequest

鍙椾繚鎶ゆ柟娉

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
createCsrfCookie() Creates a cookie with a randomly generated CSRF token. CHttpRequest
decodePathInfo() Decodes the path info. CHttpRequest
getRestParams() Returns the PUT or DELETE request parameters. CHttpRequest
normalizeRequest() Normalizes the request data. CHttpRequest

灞炴ц缁

acceptTypes 灞炴 鍙
public string getAcceptTypes()

Returns user browser accept types, null if not present.

baseUrl 灞炴
public string getBaseUrl(boolean $absolute=false)
public void setBaseUrl(string $value)

Returns the relative URL for the application. This is similar to scriptUrl except that it does not have the script file name, and the ending slashes are stripped off.

鍙傝

browser 灞炴 鍙
public array getBrowser(string $userAgent=NULL)

Returns information about the capabilities of user browser.

cookies 灞炴 鍙

Returns the cookie collection. The result can be used like an associative array. Adding CHttpCookie objects to the collection will send the cookies to the client; and removing the objects from the collection will delete those cookies on the client.

csrfCookie 灞炴
public array $csrfCookie;

the property values (in name-value pairs) used to initialize the CSRF cookie. Any property of CHttpCookie may be initialized. This property is effective only when enableCsrfValidation is true.

csrfToken 灞炴 鍙
public string getCsrfToken()

Returns the random token used to perform CSRF validation. The token will be read from cookie first. If not found, a new token will be generated.

csrfTokenName 灞炴
public string $csrfTokenName;

the name of the token used to prevent CSRF. Defaults to 'YII_CSRF_TOKEN'. This property is effectively only when enableCsrfValidation is true.

enableCookieValidation 灞炴
public boolean $enableCookieValidation;

whether cookies should be validated to ensure they are not tampered. Defaults to false.

enableCsrfValidation 灞炴
public boolean $enableCsrfValidation;

whether to enable CSRF (Cross-Site Request Forgery) validation. Defaults to false. By setting this property to true, forms submitted to an Yii Web application must be originated from the same application. If not, a 400 HTTP exception will be raised. Note, this feature requires that the user client accepts cookie. You also need to use CHtml::form or CHtml::statefulForm to generate the needed HTML forms in your pages.

hostInfo 灞炴
public string getHostInfo(string $schema='')
public void setHostInfo(string $value)

Returns the schema and host part of the application URL. The returned URL does not have an ending slash. By default this is determined based on the user request information. You may explicitly specify it by setting the hostInfo property.

鍙傝

isAjaxRequest 灞炴 鍙
public boolean getIsAjaxRequest()

Returns whether this is an AJAX (XMLHttpRequest) request.

isDeleteRequest 灞炴 鍙 锛堝彲鐢ㄨ嚜 v1.1.7锛
public boolean getIsDeleteRequest()

Returns whether this is a DELETE request.

isPostRequest 灞炴 鍙
public boolean getIsPostRequest()

Returns whether this is a POST request.

isPutRequest 灞炴 鍙 锛堝彲鐢ㄨ嚜 v1.1.7锛
public boolean getIsPutRequest()

Returns whether this is a PUT request.

isSecureConnection 灞炴 鍙
public boolean getIsSecureConnection()

Return if the request is sent via secure channel (https).

pathInfo 灞炴 鍙
public string getPathInfo()

Returns the path info of the currently requested URL. This refers to the part that is after the entry script and before the question mark. The starting and ending slashes are stripped off.

port 灞炴 锛堝彲鐢ㄨ嚜 v1.1.3锛
public integer getPort()
public void setPort(integer $value)

Returns the port to use for insecure requests. Defaults to 80, or the port specified by the server if the current request is insecure. You may explicitly specify it by setting the port property.

鍙傝

preferredLanguage 灞炴 鍙
public string getPreferredLanguage()

Returns the user preferred language. The returned language ID will be canonicalized using CLocale::getCanonicalID. This method returns false if the user does not have language preference.

queryString 灞炴 鍙
public string getQueryString()

Returns part of the request URL that is after the question mark.

requestType 灞炴 鍙
public string getRequestType()

Returns the request type, such as GET, POST, HEAD, PUT, DELETE.

requestUri 灞炴 鍙
public string getRequestUri()

Returns the request URI portion for the currently requested URL. This refers to the portion that is after the host info part. It includes the query string part if any. The implementation of this method referenced Zend_Controller_Request_Http in Zend Framework.

restParams 灞炴 鍙 锛堝彲鐢ㄨ嚜 v1.1.7锛
protected array getRestParams()

Returns the PUT or DELETE request parameters.

scriptFile 灞炴 鍙
public string getScriptFile()

Returns entry script file path.

scriptUrl 灞炴
public string getScriptUrl()
public void setScriptUrl(string $value)

Returns the relative URL of the entry script. The implementation of this method referenced Zend_Controller_Request_Http in Zend Framework.

securePort 灞炴 锛堝彲鐢ㄨ嚜 v1.1.3锛
public integer getSecurePort()
public void setSecurePort(integer $value)

Returns the port to use for secure requests. Defaults to 443, or the port specified by the server if the current request is secure. You may explicitly specify it by setting the securePort property.

鍙傝

serverName 灞炴 鍙
public string getServerName()

Returns the server name.

serverPort 灞炴 鍙
public integer getServerPort()

Returns the server port number.

url 灞炴 鍙
public string getUrl()

Returns the currently requested URL. This is the same as getRequestUri.

urlReferrer 灞炴 鍙
public string getUrlReferrer()

Returns the URL referrer, null if not present

userAgent 灞炴 鍙
public string getUserAgent()

Returns the user agent, null if not present.

userHost 灞炴 鍙
public string getUserHost()

Returns the user host name, null if it cannot be determined.

userHostAddress 灞炴 鍙
public string getUserHostAddress()

Returns the user IP address.

鏂规硶璇︾粏

createCsrfCookie() 鏂规硶
protected CHttpCookie createCsrfCookie()
{return} CHttpCookie the generated cookie
婧愮爜锛 framework/web/CHttpRequest.php#895 (鏄剧ず)
protected function createCsrfCookie()
{
    
$cookie=new CHttpCookie($this->csrfTokenName,sha1(uniqid(mt_rand(),true)));
    if(
is_array($this->csrfCookie))
    {
        foreach(
$this->csrfCookie as $name=>$value)
            
$cookie->$name=$value;
    }
    return 
$cookie;
}

Creates a cookie with a randomly generated CSRF token. Initial values specified in csrfCookie will be applied to the generated cookie.

decodePathInfo() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.10锛
protected string decodePathInfo(string $pathInfo)
$pathInfo string encoded path info
{return} string decoded path info
婧愮爜锛 framework/web/CHttpRequest.php#412 (鏄剧ず)
protected function decodePathInfo($pathInfo)
{
    
$pathInfo urldecode($pathInfo);

    
// is it UTF-8?
    // http://w3.org/International/questions/qa-forms-utf-8.html
    
if(preg_match('%^(?:
       [\x09\x0A\x0D\x20-\x7E]            # ASCII
     | [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte
     | \xE0[\xA0-\xBF][\x80-\xBF]         # excluding overlongs
     | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
     | \xED[\x80-\x9F][\x80-\xBF]         # excluding surrogates
     | \xF0[\x90-\xBF][\x80-\xBF]{2}      # planes 1-3
     | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
     | \xF4[\x80-\x8F][\x80-\xBF]{2}      # plane 16
    )*$%xs'
$pathInfo))
    {
        return 
$pathInfo;
    }
    else
    {
        return 
utf8_encode($pathInfo);
    }
}

Decodes the path info. This method is an improved variant of the native urldecode() function and used in getPathInfo() to decode the path part of the request URI. You may override this method to change the way the path info is being decoded.

getAcceptTypes() 鏂规硶
public string getAcceptTypes()
{return} string user browser accept types, null if not present
婧愮爜锛 framework/web/CHttpRequest.php#622 (鏄剧ず)
public function getAcceptTypes()
{
    return isset(
$_SERVER['HTTP_ACCEPT'])?$_SERVER['HTTP_ACCEPT']:null;
}

Returns user browser accept types, null if not present.

getBaseUrl() 鏂规硶
public string getBaseUrl(boolean $absolute=false)
$absolute boolean whether to return an absolute URL. Defaults to false, meaning returning a relative one.
{return} string the relative URL for the application
婧愮爜锛 framework/web/CHttpRequest.php#312 (鏄剧ず)
public function getBaseUrl($absolute=false)
{
    if(
$this->_baseUrl===null)
        
$this->_baseUrl=rtrim(dirname($this->getScriptUrl()),'\\/');
    return 
$absolute $this->getHostInfo() . $this->_baseUrl $this->_baseUrl;
}

Returns the relative URL for the application. This is similar to scriptUrl except that it does not have the script file name, and the ending slashes are stripped off.

鍙傝

getBrowser() 鏂规硶
public array getBrowser(string $userAgent=NULL)
$userAgent string the user agent to be analyzed. Defaults to null, meaning using the current User-Agent HTTP header information.
{return} array user browser capabilities.
婧愮爜锛 framework/web/CHttpRequest.php#613 (鏄剧ず)
public function getBrowser($userAgent=null)
{
    return 
get_browser($userAgent,true);
}

Returns information about the capabilities of user browser.

getCookies() 鏂规硶
public CCookieCollection getCookies()
{return} CCookieCollection the cookie collection.
婧愮爜锛 framework/web/CHttpRequest.php#696 (鏄剧ず)
public function getCookies()
{
    if(
$this->_cookies!==null)
        return 
$this->_cookies;
    else
        return 
$this->_cookies=new CCookieCollection($this);
}

Returns the cookie collection. The result can be used like an associative array. Adding CHttpCookie objects to the collection will send the cookies to the client; and removing the objects from the collection will delete those cookies on the client.

getCsrfToken() 鏂规硶
public string getCsrfToken()
{return} string the random token for CSRF validation.
婧愮爜锛 framework/web/CHttpRequest.php#872 (鏄剧ず)
public function getCsrfToken()
{
    if(
$this->_csrfToken===null)
    {
        
$cookie=$this->getCookies()->itemAt($this->csrfTokenName);
        if(!
$cookie || ($this->_csrfToken=$cookie->value)==null)
        {
            
$cookie=$this->createCsrfCookie();
            
$this->_csrfToken=$cookie->value;
            
$this->getCookies()->add($cookie->name,$cookie);
        }
    }

    return 
$this->_csrfToken;
}

Returns the random token used to perform CSRF validation. The token will be read from cookie first. If not found, a new token will be generated.

getDelete() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.7锛
public mixed getDelete(string $name, mixed $defaultValue=NULL)
$name string the DELETE parameter name
$defaultValue mixed the default parameter value if the DELETE parameter does not exist.
{return} mixed the DELETE parameter value
婧愮爜锛 framework/web/CHttpRequest.php#199 (鏄剧ず)
public function getDelete($name,$defaultValue=null)
{
    if(
$this->_deleteParams===null)
        
$this->_deleteParams=$this->getIsDeleteRequest() ? $this->getRestParams() : array();
    return isset(
$this->_deleteParams[$name]) ? $this->_deleteParams[$name] : $defaultValue;
}

Returns the named DELETE parameter value. If the DELETE parameter does not exist or if the current request is not a DELETE request, the second parameter to this method will be returned.

getHostInfo() 鏂规硶
public string getHostInfo(string $schema='')
$schema string schema to use (e.g. http, https). If empty, the schema used for the current request will be used.
{return} string schema and hostname part (with port number if needed) of the request URL (e.g. http://www.yiiframework.com)
婧愮爜锛 framework/web/CHttpRequest.php#256 (鏄剧ず)
public function getHostInfo($schema='')
{
    if(
$this->_hostInfo===null)
    {
        if(
$secure=$this->getIsSecureConnection())
            
$http='https';
        else
            
$http='http';
        if(isset(
$_SERVER['HTTP_HOST']))
            
$this->_hostInfo=$http.'://'.$_SERVER['HTTP_HOST'];
        else
        {
            
$this->_hostInfo=$http.'://'.$_SERVER['SERVER_NAME'];
            
$port=$secure $this->getSecurePort() : $this->getPort();
            if((
$port!==80 && !$secure) || ($port!==443 && $secure))
                
$this->_hostInfo.=':'.$port;
        }
    }
    if(
$schema!=='')
    {
        
$secure=$this->getIsSecureConnection();
        if(
$secure && $schema==='https' || !$secure && $schema==='http')
            return 
$this->_hostInfo;

        
$port=$schema==='https' $this->getSecurePort() : $this->getPort();
        if(
$port!==80 && $schema==='http' || $port!==443 && $schema==='https')
            
$port=':'.$port;
        else
            
$port='';

        
$pos=strpos($this->_hostInfo,':');
        return 
$schema.substr($this->_hostInfo,$pos,strcspn($this->_hostInfo,':',$pos+1)+1).$port;
    }
    else
        return 
$this->_hostInfo;
}

Returns the schema and host part of the application URL. The returned URL does not have an ending slash. By default this is determined based on the user request information. You may explicitly specify it by setting the hostInfo property.

鍙傝

getIsAjaxRequest() 鏂规硶
public boolean getIsAjaxRequest()
{return} boolean whether this is an AJAX (XMLHttpRequest) request.
婧愮爜锛 framework/web/CHttpRequest.php#535 (鏄剧ず)
public function getIsAjaxRequest()
{
    return isset(
$_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH']==='XMLHttpRequest';
}

Returns whether this is an AJAX (XMLHttpRequest) request.

getIsDeleteRequest() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.7锛
public boolean getIsDeleteRequest()
{return} boolean whether this is a DELETE request.
婧愮爜锛 framework/web/CHttpRequest.php#516 (鏄剧ず)
public function getIsDeleteRequest()
{
    return isset(
$_SERVER['REQUEST_METHOD']) && !strcasecmp($_SERVER['REQUEST_METHOD'],'DELETE');
}

Returns whether this is a DELETE request.

getIsPostRequest() 鏂规硶
public boolean getIsPostRequest()
{return} boolean whether this is a POST request.
婧愮爜锛 framework/web/CHttpRequest.php#506 (鏄剧ず)
public function getIsPostRequest()
{
    return isset(
$_SERVER['REQUEST_METHOD']) && !strcasecmp($_SERVER['REQUEST_METHOD'],'POST');
}

Returns whether this is a POST request.

getIsPutRequest() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.7锛
public boolean getIsPutRequest()
{return} boolean whether this is a PUT request.
婧愮爜锛 framework/web/CHttpRequest.php#526 (鏄剧ず)
public function getIsPutRequest()
{
    return isset(
$_SERVER['REQUEST_METHOD']) && !strcasecmp($_SERVER['REQUEST_METHOD'],'PUT');
}

Returns whether this is a PUT request.

getIsSecureConnection() 鏂规硶
public boolean getIsSecureConnection()
{return} boolean if the request is sent via secure channel (https)
婧愮爜锛 framework/web/CHttpRequest.php#488 (鏄剧ず)
public function getIsSecureConnection()
{
    return isset(
$_SERVER['HTTPS']) && !strcasecmp($_SERVER['HTTPS'],'on');
}

Return if the request is sent via secure channel (https).

getParam() 鏂规硶
public mixed getParam(string $name, mixed $defaultValue=NULL)
$name string the GET parameter name
$defaultValue mixed the default parameter value if the GET parameter does not exist.
{return} mixed the GET parameter value
婧愮爜锛 framework/web/CHttpRequest.php#157 (鏄剧ず)
public function getParam($name,$defaultValue=null)
{
    return isset(
$_GET[$name]) ? $_GET[$name] : (isset($_POST[$name]) ? $_POST[$name] : $defaultValue);
}

Returns the named GET or POST parameter value. If the GET or POST parameter does not exist, the second parameter to this method will be returned. If both GET and POST contains such a named parameter, the GET parameter takes precedence.

鍙傝

getPathInfo() 鏂规硶
public string getPathInfo()
{return} string part of the request URL that is after the entry script and before the question mark. Note, the returned pathinfo is decoded starting from 1.1.4. Prior to 1.1.4, whether it is decoded or not depends on the server configuration (in most cases it is not decoded).
婧愮爜锛 framework/web/CHttpRequest.php#377 (鏄剧ず)
public function getPathInfo()
{
    if(
$this->_pathInfo===null)
    {
        
$pathInfo=$this->getRequestUri();

        if((
$pos=strpos($pathInfo,'?'))!==false)
           
$pathInfo=substr($pathInfo,0,$pos);

        
$pathInfo=$this->decodePathInfo($pathInfo);

        
$scriptUrl=$this->getScriptUrl();
        
$baseUrl=$this->getBaseUrl();
        if(
strpos($pathInfo,$scriptUrl)===0)
            
$pathInfo=substr($pathInfo,strlen($scriptUrl));
        else if(
$baseUrl==='' || strpos($pathInfo,$baseUrl)===0)
            
$pathInfo=substr($pathInfo,strlen($baseUrl));
        else if(
strpos($_SERVER['PHP_SELF'],$scriptUrl)===0)
            
$pathInfo=substr($_SERVER['PHP_SELF'],strlen($scriptUrl));
        else
            throw new 
CException(Yii::t('yii','CHttpRequest is unable to determine the path info of the request.'));

        
$this->_pathInfo=trim($pathInfo,'/');
    }
    return 
$this->_pathInfo;
}

Returns the path info of the currently requested URL. This refers to the part that is after the entry script and before the question mark. The starting and ending slashes are stripped off.

getPort() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.3锛
public integer getPort()
{return} integer port number for insecure requests.
婧愮爜锛 framework/web/CHttpRequest.php#638 (鏄剧ず)
public function getPort()
{
    if(
$this->_port===null)
        
$this->_port=!$this->getIsSecureConnection() && isset($_SERVER['SERVER_PORT']) ? (int)$_SERVER['SERVER_PORT'] : 80;
    return 
$this->_port;
}

Returns the port to use for insecure requests. Defaults to 80, or the port specified by the server if the current request is insecure. You may explicitly specify it by setting the port property.

鍙傝

getPost() 鏂规硶
public mixed getPost(string $name, mixed $defaultValue=NULL)
$name string the POST parameter name
$defaultValue mixed the default parameter value if the POST parameter does not exist.
{return} mixed the POST parameter value
婧愮爜锛 framework/web/CHttpRequest.php#185 (鏄剧ず)
public function getPost($name,$defaultValue=null)
{
    return isset(
$_POST[$name]) ? $_POST[$name] : $defaultValue;
}

Returns the named POST parameter value. If the POST parameter does not exist, the second parameter to this method will be returned.

鍙傝

getPreferredLanguage() 鏂规硶
public string getPreferredLanguage()
{return} string the user preferred language.
婧愮爜锛 framework/web/CHttpRequest.php#727 (鏄剧ず)
public function getPreferredLanguage()
{
    if(
$this->_preferredLanguage===null)
    {
        if(isset(
$_SERVER['HTTP_ACCEPT_LANGUAGE']) && ($n=preg_match_all('/([\w\-_]+)\s*(;\s*q\s*=\s*(\d*\.\d*))?/',$_SERVER['HTTP_ACCEPT_LANGUAGE'],$matches))>0)
        {
            
$languages=array();
            for(
$i=0;$i<$n;++$i)
                
$languages[$matches[1][$i]]=empty($matches[3][$i]) ? 1.0 floatval($matches[3][$i]);
            
arsort($languages);
            foreach(
$languages as $language=>$pref)
                return 
$this->_preferredLanguage=CLocale::getCanonicalID($language);
        }
        return 
$this->_preferredLanguage=false;
    }
    return 
$this->_preferredLanguage;
}

Returns the user preferred language. The returned language ID will be canonicalized using CLocale::getCanonicalID. This method returns false if the user does not have language preference.

getPut() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.7锛
public mixed getPut(string $name, mixed $defaultValue=NULL)
$name string the PUT parameter name
$defaultValue mixed the default parameter value if the PUT parameter does not exist.
{return} mixed the PUT parameter value
婧愮爜锛 framework/web/CHttpRequest.php#215 (鏄剧ず)
public function getPut($name,$defaultValue=null)
{
    if(
$this->_putParams===null)
        
$this->_putParams=$this->getIsPutRequest() ? $this->getRestParams() : array();
    return isset(
$this->_putParams[$name]) ? $this->_putParams[$name] : $defaultValue;
}

Returns the named PUT parameter value. If the PUT parameter does not exist or if the current request is not a PUT request, the second parameter to this method will be returned.

getQuery() 鏂规硶
public mixed getQuery(string $name, mixed $defaultValue=NULL)
$name string the GET parameter name
$defaultValue mixed the default parameter value if the GET parameter does not exist.
{return} mixed the GET parameter value
婧愮爜锛 framework/web/CHttpRequest.php#171 (鏄剧ず)
public function getQuery($name,$defaultValue=null)
{
    return isset(
$_GET[$name]) ? $_GET[$name] : $defaultValue;
}

Returns the named GET parameter value. If the GET parameter does not exist, the second parameter to this method will be returned.

鍙傝

getQueryString() 鏂规硶
public string getQueryString()
{return} string part of the request URL that is after the question mark
婧愮爜锛 framework/web/CHttpRequest.php#479 (鏄剧ず)
public function getQueryString()
{
    return isset(
$_SERVER['QUERY_STRING'])?$_SERVER['QUERY_STRING']:'';
}

Returns part of the request URL that is after the question mark.

getRequestType() 鏂规硶
public string getRequestType()
{return} string request type, such as GET, POST, HEAD, PUT, DELETE.
婧愮爜锛 framework/web/CHttpRequest.php#497 (鏄剧ず)
public function getRequestType()
{
    return 
strtoupper(isset($_SERVER['REQUEST_METHOD'])?$_SERVER['REQUEST_METHOD']:'GET');
}

Returns the request type, such as GET, POST, HEAD, PUT, DELETE.

getRequestUri() 鏂规硶
public string getRequestUri()
{return} string the request URI portion for the currently requested URL.
婧愮爜锛 framework/web/CHttpRequest.php#445 (鏄剧ず)
public function getRequestUri()
{
    if(
$this->_requestUri===null)
    {
        if(isset(
$_SERVER['HTTP_X_REWRITE_URL'])) // IIS
            
$this->_requestUri=$_SERVER['HTTP_X_REWRITE_URL'];
        else if(isset(
$_SERVER['REQUEST_URI']))
        {
            
$this->_requestUri=$_SERVER['REQUEST_URI'];
            if(!empty(
$_SERVER['HTTP_HOST']))
            {
                if(
strpos($this->_requestUri,$_SERVER['HTTP_HOST'])!==false)
                    
$this->_requestUri=preg_replace('/^\w+:\/\/[^\/]+/','',$this->_requestUri);
            }
            else
                
$this->_requestUri=preg_replace('/^(http|https):\/\/[^\/]+/i','',$this->_requestUri);
        }
        else if(isset(
$_SERVER['ORIG_PATH_INFO']))  // IIS 5.0 CGI
        
{
            
$this->_requestUri=$_SERVER['ORIG_PATH_INFO'];
            if(!empty(
$_SERVER['QUERY_STRING']))
                
$this->_requestUri.='?'.$_SERVER['QUERY_STRING'];
        }
        else
            throw new 
CException(Yii::t('yii','CHttpRequest is unable to determine the request URI.'));
    }

    return 
$this->_requestUri;
}

Returns the request URI portion for the currently requested URL. This refers to the portion that is after the host info part. It includes the query string part if any. The implementation of this method referenced Zend_Controller_Request_Http in Zend Framework.

getRestParams() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.7锛
protected array getRestParams()
{return} array the request parameters
婧愮爜锛 framework/web/CHttpRequest.php#227 (鏄剧ず)
protected function getRestParams()
{
    
$result=array();
    if(
function_exists('mb_parse_str'))
        
mb_parse_str(file_get_contents('php://input'), $result);
    else
        
parse_str(file_get_contents('php://input'), $result);
    return 
$result;
}

Returns the PUT or DELETE request parameters.

getScriptFile() 鏂规硶
public string getScriptFile()
{return} string entry script file path (processed w/ realpath())
婧愮爜锛 framework/web/CHttpRequest.php#598 (鏄剧ず)
public function getScriptFile()
{
    if(
$this->_scriptFile!==null)
        return 
$this->_scriptFile;
    else
        return 
$this->_scriptFile=realpath($_SERVER['SCRIPT_FILENAME']);
}

Returns entry script file path.

getScriptUrl() 鏂规硶
public string getScriptUrl()
{return} string the relative URL of the entry script.
婧愮爜锛 framework/web/CHttpRequest.php#335 (鏄剧ず)
public function getScriptUrl()
{
    if(
$this->_scriptUrl===null)
    {
        
$scriptName=basename($_SERVER['SCRIPT_FILENAME']);
        if(
basename($_SERVER['SCRIPT_NAME'])===$scriptName)
            
$this->_scriptUrl=$_SERVER['SCRIPT_NAME'];
        else if(
basename($_SERVER['PHP_SELF'])===$scriptName)
            
$this->_scriptUrl=$_SERVER['PHP_SELF'];
        else if(isset(
$_SERVER['ORIG_SCRIPT_NAME']) && basename($_SERVER['ORIG_SCRIPT_NAME'])===$scriptName)
            
$this->_scriptUrl=$_SERVER['ORIG_SCRIPT_NAME'];
        else if((
$pos=strpos($_SERVER['PHP_SELF'],'/'.$scriptName))!==false)
            
$this->_scriptUrl=substr($_SERVER['SCRIPT_NAME'],0,$pos).'/'.$scriptName;
        else if(isset(
$_SERVER['DOCUMENT_ROOT']) && strpos($_SERVER['SCRIPT_FILENAME'],$_SERVER['DOCUMENT_ROOT'])===0)
            
$this->_scriptUrl=str_replace('\\','/',str_replace($_SERVER['DOCUMENT_ROOT'],'',$_SERVER['SCRIPT_FILENAME']));
        else
            throw new 
CException(Yii::t('yii','CHttpRequest is unable to determine the entry script URL.'));
    }
    return 
$this->_scriptUrl;
}

Returns the relative URL of the entry script. The implementation of this method referenced Zend_Controller_Request_Http in Zend Framework.

getSecurePort() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.3锛
public integer getSecurePort()
{return} integer port number for secure requests.
婧愮爜锛 framework/web/CHttpRequest.php#669 (鏄剧ず)
public function getSecurePort()
{
    if(
$this->_securePort===null)
        
$this->_securePort=$this->getIsSecureConnection() && isset($_SERVER['SERVER_PORT']) ? (int)$_SERVER['SERVER_PORT'] : 443;
    return 
$this->_securePort;
}

Returns the port to use for secure requests. Defaults to 443, or the port specified by the server if the current request is secure. You may explicitly specify it by setting the securePort property.

鍙傝

getServerName() 鏂规硶
public string getServerName()
{return} string server name
婧愮爜锛 framework/web/CHttpRequest.php#544 (鏄剧ず)
public function getServerName()
{
    return 
$_SERVER['SERVER_NAME'];
}

Returns the server name.

getServerPort() 鏂规硶
public integer getServerPort()
{return} integer server port number
婧愮爜锛 framework/web/CHttpRequest.php#553 (鏄剧ず)
public function getServerPort()
{
    return 
$_SERVER['SERVER_PORT'];
}

Returns the server port number.

getUrl() 鏂规硶
public string getUrl()
{return} string part of the request URL after the host info.
婧愮爜锛 framework/web/CHttpRequest.php#242 (鏄剧ず)
public function getUrl()
{
    return 
$this->getRequestUri();
}

Returns the currently requested URL. This is the same as getRequestUri.

getUrlReferrer() 鏂规硶
public string getUrlReferrer()
{return} string URL referrer, null if not present
婧愮爜锛 framework/web/CHttpRequest.php#562 (鏄剧ず)
public function getUrlReferrer()
{
    return isset(
$_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:null;
}

Returns the URL referrer, null if not present

getUserAgent() 鏂规硶
public string getUserAgent()
{return} string user agent, null if not present
婧愮爜锛 framework/web/CHttpRequest.php#571 (鏄剧ず)
public function getUserAgent()
{
    return isset(
$_SERVER['HTTP_USER_AGENT'])?$_SERVER['HTTP_USER_AGENT']:null;
}

Returns the user agent, null if not present.

getUserHost() 鏂规硶
public string getUserHost()
{return} string user host name, null if cannot be determined
婧愮爜锛 framework/web/CHttpRequest.php#589 (鏄剧ず)
public function getUserHost()
{
    return isset(
$_SERVER['REMOTE_HOST'])?$_SERVER['REMOTE_HOST']:null;
}

Returns the user host name, null if it cannot be determined.

getUserHostAddress() 鏂规硶
public string getUserHostAddress()
{return} string user IP address
婧愮爜锛 framework/web/CHttpRequest.php#580 (鏄剧ず)
public function getUserHostAddress()
{
    return isset(
$_SERVER['REMOTE_ADDR'])?$_SERVER['REMOTE_ADDR']:'127.0.0.1';
}

Returns the user IP address.

init() 鏂规硶
public void init()
婧愮爜锛 framework/web/CHttpRequest.php#105 (鏄剧ず)
public function init()
{
    
parent::init();
    
$this->normalizeRequest();
}

Initializes the application component. This method overrides the parent implementation by preprocessing the user request data.

normalizeRequest() 鏂规硶
protected void normalizeRequest()
婧愮爜锛 framework/web/CHttpRequest.php#116 (鏄剧ず)
protected function normalizeRequest()
{
    
// normalize request
    
if(function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc())
    {
        if(isset(
$_GET))
            
$_GET=$this->stripSlashes($_GET);
        if(isset(
$_POST))
            
$_POST=$this->stripSlashes($_POST);
        if(isset(
$_REQUEST))
            
$_REQUEST=$this->stripSlashes($_REQUEST);
        if(isset(
$_COOKIE))
            
$_COOKIE=$this->stripSlashes($_COOKIE);
    }

    if(
$this->enableCsrfValidation)
        
Yii::app()->attachEventHandler('onBeginRequest',array($this,'validateCsrfToken'));
}

Normalizes the request data. This method strips off slashes in request data if get_magic_quotes_gpc() returns true. It also performs CSRF validation if enableCsrfValidation is true.

redirect() 鏂规硶
public void redirect(string $url, boolean $terminate=true, integer $statusCode=302)
$url string URL to be redirected to. If the URL is a relative one, the base URL of the application will be inserted at the beginning.
$terminate boolean whether to terminate the current application
$statusCode integer the HTTP status code. Defaults to 302. See http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html for details about HTTP status code.
婧愮爜锛 framework/web/CHttpRequest.php#712 (鏄剧ず)
public function redirect($url,$terminate=true,$statusCode=302)
{
    if(
strpos($url,'/')===0)
        
$url=$this->getHostInfo().$url;
    
header('Location: '.$urltrue$statusCode);
    if(
$terminate)
        
Yii::app()->end();
}

Redirects the browser to the specified URL.

sendFile() 鏂规硶
public void sendFile(string $fileName, string $content, string $mimeType=NULL, boolean $terminate=true)
$fileName string file name
$content string content to be set.
$mimeType string mime type of the content. If null, it will be guessed automatically based on the given file name.
$terminate boolean whether to terminate the current application after calling this method
婧愮爜锛 framework/web/CHttpRequest.php#752 (鏄剧ず)
public function sendFile($fileName,$content,$mimeType=null,$terminate=true)
{
    if(
$mimeType===null)
    {
        if((
$mimeType=CFileHelper::getMimeTypeByExtension($fileName))===null)
            
$mimeType='text/plain';
    }
    
header('Pragma: public');
    
header('Expires: 0');
    
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    
header("Content-type: $mimeType");
    if(
ob_get_length()===false)
        
header('Content-Length: '.(function_exists('mb_strlen') ? mb_strlen($content,'8bit') : strlen($content)));
    
header("Content-Disposition: attachment; filename=\"$fileName\"");
    
header('Content-Transfer-Encoding: binary');

    if(
$terminate)
    {
        
// clean up the application first because the file downloading could take long time
        // which may cause timeout of some resources (such as DB connection)
        
Yii::app()->end(0,false);
        echo 
$content;
        exit(
0);
    }
    else
        echo 
$content;
}

Sends a file to user.

setBaseUrl() 鏂规硶
public void setBaseUrl(string $value)
$value string the relative URL for the application
婧愮爜锛 framework/web/CHttpRequest.php#325 (鏄剧ず)
public function setBaseUrl($value)
{
    
$this->_baseUrl=$value;
}

Sets the relative URL for the application. By default the URL is determined based on the entry script URL. This setter is provided in case you want to change this behavior.

setHostInfo() 鏂规硶
public void setHostInfo(string $value)
$value string the schema and host part of the application URL.
婧愮爜锛 framework/web/CHttpRequest.php#299 (鏄剧ず)
public function setHostInfo($value)
{
    
$this->_hostInfo=rtrim($value,'/');
}

Sets the schema and host part of the application URL. This setter is provided in case the schema and hostname cannot be determined on certain Web servers.

setPort() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.3锛
public void setPort(integer $value)
$value integer port number.
婧愮爜锛 framework/web/CHttpRequest.php#652 (鏄剧ず)
public function setPort($value)
{
    
$this->_port=(int)$value;
    
$this->_hostInfo=null;
}

Sets the port to use for insecure requests. This setter is provided in case a custom port is necessary for certain server configurations.

setScriptUrl() 鏂规硶
public void setScriptUrl(string $value)
$value string the relative URL for the application entry script.
婧愮爜锛 framework/web/CHttpRequest.php#362 (鏄剧ず)
public function setScriptUrl($value)
{
    
$this->_scriptUrl='/'.trim($value,'/');
}

Sets the relative URL for the application entry script. This setter is provided in case the entry script URL cannot be determined on certain Web servers.

setSecurePort() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.3锛
public void setSecurePort(integer $value)
$value integer port number.
婧愮爜锛 framework/web/CHttpRequest.php#683 (鏄剧ず)
public function setSecurePort($value)
{
    
$this->_securePort=(int)$value;
    
$this->_hostInfo=null;
}

Sets the port to use for secure requests. This setter is provided in case a custom port is necessary for certain server configurations.

stripSlashes() 鏂规硶
public mixed stripSlashes(mixed &$data)
$data mixed input data to be processed
{return} mixed processed data
婧愮爜锛 framework/web/CHttpRequest.php#142 (鏄剧ず)
public function stripSlashes(&$data)
{
    return 
is_array($data)?array_map(array($this,'stripSlashes'),$data):stripslashes($data);
}

Strips slashes from input data. This method is applied when magic quotes is enabled.

validateCsrfToken() 鏂规硶
public void validateCsrfToken(CEvent $event)
$event CEvent event parameter
婧愮爜锛 framework/web/CHttpRequest.php#914 (鏄剧ず)
public function validateCsrfToken($event)
{
    if(
$this->getIsPostRequest())
    {
        
// only validate POST requests
        
$cookies=$this->getCookies();
        if(
$cookies->contains($this->csrfTokenName) && isset($_POST[$this->csrfTokenName]))
        {
            
$tokenFromCookie=$cookies->itemAt($this->csrfTokenName)->value;
            
$tokenFromPost=$_POST[$this->csrfTokenName];
            
$valid=$tokenFromCookie===$tokenFromPost;
        }
        else
            
$valid=false;
        if(!
$valid)
            throw new 
CHttpException(400,Yii::t('yii','The CSRF token could not be verified.'));
    }
}

Performs the CSRF validation. This is the event handler responding to CApplication::onBeginRequest. The default implementation will compare the CSRF token obtained from a cookie and from a POST field. If they are different, a CSRF attack is detected.

xSendFile() 鏂规硶
public void xSendFile(string $filePath, array $options=array ( ))
$filePath string file name with full path
$options array additional options:
  • saveName: file name shown to the user, if not set real file name will be used
  • mimeType: mime type of the file, if not set it will be guessed automatically based on the file name, if set to null no content-type header will be sent.
  • xHeader: appropriate x-sendfile header, defaults to "X-Sendfile"
  • terminate: whether to terminate the current application after calling this method, defaults to true
  • forceDownload: specifies whether the file will be downloaded or shown inline, defaults to true. (Since version 1.1.9.)
  • addHeaders: an array of additional http headers in header-value pairs (available since version 1.1.10)
婧愮爜锛 framework/web/CHttpRequest.php#832 (鏄剧ず)
public function xSendFile($filePath$options=array())
{
    if(!isset(
$options['forceDownload']) || $options['forceDownload'])
        
$disposition='attachment';
    else
        
$disposition='inline';

    if(!isset(
$options['saveName']))
        
$options['saveName']=basename($filePath);

    if(!isset(
$options['mimeType']))
    {
        if((
$options['mimeType']=CFileHelper::getMimeTypeByExtension($filePath))===null)
            
$options['mimeType']='text/plain';
    }

    if(!isset(
$options['xHeader']))
        
$options['xHeader']='X-Sendfile';

    if(
$options['mimeType'] !== null)
        
header('Content-type: '.$options['mimeType']);
    
header('Content-Disposition: '.$disposition.'; filename="'.$options['saveName'].'"');
    if(isset(
$options['addHeaders']))
    {
        foreach(
$options['addHeaders'] as $header=>$value)
            
header($header.': '.$value);
    }
    
header(trim($options['xHeader']).': '.$filePath);

    if(!isset(
$options['terminate']) || $options['terminate'])
        
Yii::app()->end();
}

Sends existing file to a browser as a download using x-sendfile.

X-Sendfile is a feature allowing a web application to redirect the request for a file to the webserver that in turn processes the request, this way eliminating the need to perform tasks like reading the file and sending it to the user. When dealing with a lot of files (or very big files) this can lead to a great increase in performance as the web application is allowed to terminate earlier while the webserver is handling the request.

The request is sent to the server through a special non-standard HTTP-header. When the web server encounters the presence of such header it will discard all output and send the file specified by that header using web server internals including all optimizations like caching-headers.

As this header directive is non-standard different directives exists for different web servers applications:

So for this method to work the X-SENDFILE option/module should be enabled by the web server and a proper xHeader should be sent.

Note: This option allows to download files that are not under web folders, and even files that are otherwise protected (deny from all) like .htaccess

Side effects: If this option is disabled by the web server, when this method is called a download configuration dialog will open but the downloaded file will have 0 bytes.

Example:
<?php
   Yii::app()->request->xSendFile('/home/user/Pictures/picture1.jpg',array(
       'saveName'=>'image1.jpg',
       'mimeType'=>'image/jpeg',
       'terminate'=>false,
   ));
?>

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