\CodeIgniter\HTTP\FilesUploadedFile

Value object representing a single file uploaded through an HTTP request. Used by the IncomingRequest class to provide files.

Typically, implementors will extend the SplFileInfo class.

Summary

Methods
Properties
Constants
__construct()
move()
hasMoved()
getError()
getErrorString()
getClientMimeType()
getName()
getClientName()
getTempName()
getExtension()
guessExtension()
getClientExtension()
isValid()
store()
No public properties found
No constants found
setPath()
$path
$originalName
$name
$originalMimeType
$error
$hasMoved
N/A
No private methods found
No private properties found
N/A

Properties

$path

$path : string

The path to the temporary file.

Type

string

$originalName

$originalName : string

The original filename as provided by the client.

Type

string

$name

$name : string

The filename given to a file during a move.

Type

string

$originalMimeType

$originalMimeType : string

The type of file as provided by PHP

Type

string

$error

$error : integer

The error constant of the upload (one of PHP's UPLOADERRXXX constants)

Type

integer

$hasMoved

$hasMoved : boolean

Whether the file has been moved already or not.

Type

boolean

Methods

__construct()

__construct(string  $path, string  $originalName, string  $mimeType = null, integer  $size = null, integer  $error = null) 

Accepts the file information as would be filled in from the $_FILES array.

Parameters

string $path

The temporary location of the uploaded file.

string $originalName

The client-provided filename.

string $mimeType

The type of file as provided by PHP

integer $size

The size of the file, in bytes

integer $error

The error constant of the upload (one of PHP's UPLOADERRXXX constants)

move()

move(string  $targetPath, string  $name = null, boolean  $overwrite = false) : boolean

Move the uploaded file to a new location.

$targetPath may be an absolute path, or a relative path. If it is a relative path, resolution should be the same as used by PHP's rename() function.

The original file MUST be removed on completion.

If this method is called more than once, any subsequent calls MUST raise an exception.

When used in an SAPI environment where $_FILES is populated, when writing files via moveTo(), is_uploaded_file() and move_uploaded_file() SHOULD be used to ensure permissions and upload status are verified correctly.

If you wish to move to a stream, use getStream(), as SAPI operations cannot guarantee writing to stream destinations.

Parameters

string $targetPath

Path to which to move the uploaded file.

string $name

the name to rename the file to.

boolean $overwrite

State for indicating whether to overwrite the previously generated file with the same name or not.

Throws

\InvalidArgumentException

if the $path specified is invalid.

\RuntimeException

on any error during the move operation.

\RuntimeException

on the second or subsequent call to the method.

Returns

boolean

hasMoved()

hasMoved() : boolean

Returns whether the file has been moved or not. If it has, the move() method will not work and certain properties, like the tempName, will no longer be available.

Returns

boolean

getError()

getError() : integer

Retrieve the error associated with the uploaded file.

The return value MUST be one of PHP's UPLOAD_ERR_XXX constants.

If the file was uploaded successfully, this method MUST return UPLOAD_ERR_OK.

Implementations SHOULD return the value stored in the "error" key of the file in the $_FILES array.

Returns

integer —

One of PHP's UPLOAD_ERR_XXX constants.

getErrorString()

getErrorString() : string

Get error string

Returns

string

getClientMimeType()

getClientMimeType() : string

Returns the mime type as provided by the client.

This is NOT a trusted value. For a trusted version, use getMimeType() instead.

Returns

string —

The media type sent by the client or null if none was provided.

getName()

getName() : string

Retrieve the filename. This will typically be the filename sent by the client, and should not be trusted. If the file has been moved, this will return the final name of the moved file.

Do not trust the value returned by this method. A client could send a malicious filename with the intention to corrupt or hack your application.

Implementations SHOULD return the value stored in the "name" key of the file in the $_FILES array.

Returns

string —

The filename sent by the client or null if none was provided.

getClientName()

getClientName() : string

Returns the name of the file as provided by the client during upload.

Returns

string

getTempName()

getTempName() : string

Gets the temporary filename where the file was uploaded to.

Returns

string

getExtension()

getExtension() 

Overrides SPLFileInfo's to work with uploaded files, since the temp file that's been uploaded doesn't have an extension.

Is simply an alias for guessExtension for a safer method than simply relying on the provided extension. Additionally it will return clientExtension in case if there are other extensions with the same mime type.

guessExtension()

guessExtension() : string|null

Attempts to determine the best file extension.

Returns

string|null

getClientExtension()

getClientExtension() : string

Returns the original file extension, based on the file name that was uploaded. This is NOT a trusted source.

For a trusted version, use guessExtension() instead.

Returns

string

isValid()

isValid() : boolean

Returns whether the file was uploaded successfully, based on whether it was uploaded via HTTP and has no errors.

Returns

boolean

store()

store(string  $folderName = null, string  $fileName = null) : string

Save the uploaded file to a new location.

By default, upload files are saved in writable/uploads directory. The YYYYMMDD folder and random file name will be created.

Parameters

string $folderName

the folder name to writable/uploads directory.

string $fileName

the name to rename the file to.

Returns

string —

file full path

setPath()

setPath(string  $path) : string

create file target path if the set path does not exist

Parameters

string $path

Returns

string —

The path set or created.