## Class TFileUpload

Description

Implements interfaces:

- IPostBackDataHandler
- IValidatable

TFileUpload class

TFileUpload displays a file upload field on a page. Upon postback, the text entered into the field will be treated as the name of the file that will be uploaded to the server. The property HasFile indicates whether the file upload is successful. If successful, the file may be obtained by calling saveAs to save it at a specified place. You can use FileName, FileType, FileSize to get the original client-side file name, the file mime type, and the file size information. If the upload is not successful, ErrorCode contains the error code describing the cause of failure.

TFileUpload raises OnFileUpload event if a file is uploaded (whether it succeeds or not).

- since: 3.0
- version: $Id: TFileUpload.php 1850 2007-04-09 03:32:50Z xue $
- author: Marcus Nyeholt <tanus@users.sourceforge.net>, Qiang Xue <qiang.xue@gmail.com>

Located in /Web/UI/WebControls/TFileUpload.php (line 35)

    TComponent
       |
       --TApplicationComponent
          |
          --TControl
             |
             --TWebControl
                |
                --TFileUpload

Class Constant Summary
MAX_FILE_SIZE = 1048576
Method Summary
void addAttributesToRender (THtmlWriter $writer)
boolean getDataChanged ()
integer getErrorCode ()
string getFileName ()
integer getFileSize ()
string getFileType ()
boolean getHasFile ()
string getLocalName ()
integer getMaxFileSize ()
string getTagName ()
mixed getValidationPropertyValue ()
boolean loadPostData (string $key, array $values)
void onFileUpload (TEventParameter $param)
void onPreRender (mixed $param)
void raisePostDataChangedEvent ()
boolean saveAs (string $fileName, [boolean $deleteTempFile = true])
void setMaxFileSize (int $size)
Methods
addAttributesToRender (line 76)

Sets name attribute to the unique ID of the control.

This method overrides the parent implementation with additional file update control specific attributes.

- access: protected

void addAttributesToRender (THtmlWriter $writer)

- THtmlWriter $writer: the writer used for the rendering purpose

Redefinition of:

TWebControl::addAttributesToRender()
  Adds attribute name-value pairs to renderer.

getDataChanged (line 244)

Returns a value indicating whether postback has caused the control data change.

This method is required by the IPostBackDataHandler interface.

- return: whether postback has caused the control data change. False if the page is not in postback mode.
- access: public

boolean getDataChanged ()
getErrorCode (line 160)

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

- return: the error code
- access: public
- see: http://www.php.net/manual/en/features.file-upload.errors.php

integer getErrorCode ()
getFileName (line 124)

- return: the original full path name of the file on the client machine
- access: public

string getFileName ()
getFileSize (line 132)

- return: the actual size of the uploaded file in bytes
- access: public

integer getFileSize ()
getFileType (line 141)

- return: the MIME-type of the uploaded file (such as "image/gif"). This mime type is not checked on the server side and do not take its value for granted.
- access: public

string getFileType ()
getHasFile (line 168)

- return: whether the file is uploaded successfully
- access: public

boolean getHasFile ()
getLocalName (line 150)

- return: the local name of the file (where it is after being uploaded). Note, PHP will delete this file automatically after finishing this round of request.
- access: public

string getLocalName ()
getMaxFileSize (line 103)

- return: the maximum file size, defaults to 1MB (1048576 bytes).
- access: public
- see: TFileUpload::setMaxFileSize()

integer getMaxFileSize ()
getTagName (line 66)

- return: tag name of the file upload control
- access: protected

string getTagName ()

Redefinition of:

TWebControl::getTagName()
  Returns the tag name used for this control.

getValidationPropertyValue (line 254)

Returns the original file name as the property value to be validated.

This method is required by IValidatable property.

- return: the property value to be validated
- access: public

mixed getValidationPropertyValue ()
loadPostData (line 202)

Loads user input data.

This method is primarly used by framework developers.

- return: whether the data of the control has been changed
- access: public

boolean loadPostData (string $key, array $values)

- string $key: the key that can be used to retrieve data from the input data collection
- array $values: the input data collection

onFileUpload (line 234)

This method is invoked when a file is uploaded during a postback.

The method raises OnFileUpload event to fire up the event handler. If you override this method, be sure to call the parent implementation so that the event delegates can be invoked.

- access: public

void onFileUpload (TEventParameter $param)

- TEventParameter $param: event parameter to be passed to the event handlers

onPreRender (line 89)

Sets Enctype of the form on the page.

This method overrides the parent implementation and is invoked before render.

- access: public

void onPreRender (mixed $param)

- mixed $param: event parameter

Redefinition of:

TControl::onPreRender()
  This method is invoked when the control enters 'OnPreRender' stage.

raisePostDataChangedEvent (line 222)

Raises postdata changed event.

This method calls onFileUpload method. This method is primarly used by framework developers.

- access: public

void raisePostDataChangedEvent ()
saveAs (line 180)

Saves the uploaded file.

- return: true if the file saving is successful
- access: public

boolean saveAs (string $fileName, [boolean $deleteTempFile = true])

- string $fileName: the file name used to save the uploaded file
- boolean $deleteTempFile: whether to delete the temporary file after saving. If true, you will not be able to save the uploaded file again.

setMaxFileSize (line 116)

Sets the maximum size that a file can be uploaded.

Note, this is an advisory value to the browser. Sets this property with a reasonably large size to save users the trouble of waiting for a big file being transferred only to find that it was too big and the transfer failed.

- access: public

void setMaxFileSize (int $size)

- int $size: the maximum upload size allowed for a file.

#### Inherited Methods

Inherited From TWebControl

> TWebControl::addAttributesToRender()
> TWebControl::clearStyle()
> TWebControl::copyBaseAttributes()
> TWebControl::createStyle()
> TWebControl::getAccessKey()
> TWebControl::getBackColor()
> TWebControl::getBorderColor()
> TWebControl::getBorderStyle()
> TWebControl::getBorderWidth()
> TWebControl::getCssClass()
> TWebControl::getDisplay()
> TWebControl::getFont()
> TWebControl::getForeColor()
> TWebControl::getHasStyle()
> TWebControl::getHeight()
> TWebControl::getStyle()
> TWebControl::getTabIndex()
> TWebControl::getTagName()
> TWebControl::getToolTip()
> TWebControl::getWidth()
> TWebControl::render()
> TWebControl::renderBeginTag()
> TWebControl::renderContents()
> TWebControl::renderEndTag()
> TWebControl::setAccessKey()
> TWebControl::setBackColor()
> TWebControl::setBorderColor()
> TWebControl::setBorderStyle()
> TWebControl::setBorderWidth()
> TWebControl::setCssClass()
> TWebControl::setDisplay()
> TWebControl::setForeColor()
> TWebControl::setHeight()
> TWebControl::setStyle()
> TWebControl::setTabIndex()
> TWebControl::setToolTip()
> TWebControl::setWidth()

Inherited From TControl

> TControl::__construct()
> TControl::addedControl()
> TControl::addParsedObject()
> TControl::addToPostDataLoader()
> TControl::applyStyleSheetSkin()
> TControl::autoBindProperty()
> TControl::autoDataBindProperties()
> TControl::bindProperty()
> TControl::broadcastEvent()
> TControl::bubbleEvent()
> TControl::clearChildState()
> TControl::clearControlState()
> TControl::clearNamingContainer()
> TControl::clearViewState()
> TControl::convertUniqueIdToClientId()
> TControl::createChildControls()
> TControl::createControlCollection()
> TControl::dataBind()
> TControl::dataBindChildren()
> TControl::dataBindProperties()
> TControl::ensureChildControls()
> TControl::findControl()
> TControl::findControlsByID()
> TControl::findControlsByType()
> TControl::focus()
> TControl::getAdapter()
> TControl::getAllowChildControls()
> TControl::getAttribute()
> TControl::getAttributes()
> TControl::getChildControlsCreated()
> TControl::getClientID()
> TControl::getControls()
> TControl::getControlStage()
> TControl::getControlState()
> TControl::getCustomData()
> TControl::getEnabled()
> TControl::getEnableTheming()
> TControl::getEnableViewState()
> TControl::getHasAdapter()
> TControl::getHasAttributes()
> TControl::getHasChildInitialized()
> TControl::getHasControls()
> TControl::getHasInitialized()
> TControl::getHasLoaded()
> TControl::getHasLoadedPostData()
> TControl::getHasPreRendered()
> TControl::getID()
> TControl::getNamingContainer()
> TControl::getPage()
> TControl::getParent()
> TControl::getRegisteredObject()
> TControl::getSkinID()
> TControl::getSourceTemplateControl()
> TControl::getTemplateControl()
> TControl::getUniqueID()
> TControl::getViewState()
> TControl::getVisible()
> TControl::hasAttribute()
> TControl::initRecursive()
> TControl::isDescendentOf()
> TControl::isObjectRegistered()
> TControl::loadRecursive()
> TControl::loadState()
> TControl::loadStateRecursive()
> TControl::onDataBinding()
> TControl::onInit()
> TControl::onLoad()
> TControl::onPreRender()
> TControl::onUnload()
> TControl::preRenderRecursive()
> TControl::raiseBubbleEvent()
> TControl::registerObject()
> TControl::removeAttribute()
> TControl::removedControl()
> TControl::render()
> TControl::renderChildren()
> TControl::renderControl()
> TControl::saveState()
> TControl::saveStateRecursive()
> TControl::setAdapter()
> TControl::setAttribute()
> TControl::setChildControlsCreated()
> TControl::setControlStage()
> TControl::setControlState()
> TControl::setCustomData()
> TControl::setEnabled()
> TControl::setEnableTheming()
> TControl::setEnableViewState()
> TControl::setID()
> TControl::setPage()
> TControl::setSkinID()
> TControl::setTemplateControl()
> TControl::setViewState()
> TControl::setVisible()
> TControl::trackViewState()
> TControl::traverseChildControls()
> TControl::unbindProperty()
> TControl::unloadRecursive()
> TControl::unregisterObject()
> TControl::__get()

Inherited From TApplicationComponent

> TApplicationComponent::getApplication()
> TApplicationComponent::getRequest()
> TApplicationComponent::getResponse()
> TApplicationComponent::getService()
> TApplicationComponent::getSession()
> TApplicationComponent::getUser()
> TApplicationComponent::publishAsset()
> TApplicationComponent::publishFilePath()

Inherited From TComponent

> TComponent::addParsedObject()
> TComponent::attachEventHandler()
> TComponent::canGetProperty()
> TComponent::canSetProperty()
> TComponent::createdOnTemplate()
> TComponent::detachEventHandler()
> TComponent::evaluateExpression()
> TComponent::evaluateStatements()
> TComponent::getEventHandlers()
> TComponent::getSubProperty()
> TComponent::hasEvent()
> TComponent::hasEventHandler()
> TComponent::hasProperty()
> TComponent::raiseEvent()
> TComponent::setSubProperty()
> TComponent::__get()
> TComponent::__set()

Class Constants
MAX_FILE_SIZE = 1048576 (line 40)

Maximum file size (in bytes) allowed to be uploaded, defaults to 1MB.

#### Inherited Constants

Inherited from TControl

> TControl::AUTOMATIC_ID_PREFIX
> TControl::CLIENT_ID_SEPARATOR
> TControl::CS_CHILD_INITIALIZED
> TControl::CS_CONSTRUCTED
> TControl::CS_INITIALIZED
> TControl::CS_LOADED
> TControl::CS_PRERENDERED
> TControl::CS_STATE_LOADED
> TControl::ID_FORMAT
> TControl::ID_SEPARATOR
> TControl::IS_CHILD_CREATED
> TControl::IS_CREATING_CHILD
> TControl::IS_DISABLE_THEMING
> TControl::IS_DISABLE_VIEWSTATE
> TControl::IS_ID_SET
> TControl::IS_SKIN_APPLIED
> TControl::IS_STYLESHEET_APPLIED
> TControl::RF_ADAPTER
> TControl::RF_AUTO_BINDINGS
> TControl::RF_CHILD_STATE
> TControl::RF_CONTROLS
> TControl::RF_CONTROLSTATE
> TControl::RF_DATA_BINDINGS
> TControl::RF_EVENTS
> TControl::RF_NAMED_CONTROLS
> TControl::RF_NAMED_CONTROLS_ID
> TControl::RF_NAMED_OBJECTS
> TControl::RF_SKIN_ID

Documentation generated on Mon, 21 Apr 2008 11:35:02 -0400 by phpDocumentor 1.3.0RC4