UploadedFileInterface
in
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.
Table of Contents
Methods
- __construct() : mixed
- Accepts the file information as would be filled in from the $_FILES array.
- getClientExtension() : string
- Returns the original file extension, based on the file name that was uploaded. This is NOT a trusted source.
- getClientMimeType() : string
- Returns the mime type as provided by the client.
- getClientPath() : string|null
- (PHP 8.1+) Returns the webkit relative path of the uploaded file on directory uploads.
- getDestination() : string
- Returns the destination path for the move operation where overwriting is not expected.
- getError() : int
- Retrieve the error associated with the uploaded file.
- getName() : string
- Retrieve the filename sent by the client.
- getTempName() : string
- Gets the temporary filename where the file was uploaded to.
- hasMoved() : bool
- 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.
- isValid() : bool
- Returns whether the file was uploaded successfully, based on whether it was uploaded via HTTP and has no errors.
- move() : bool
- Move the uploaded file to a new location.
Methods
__construct()
Accepts the file information as would be filled in from the $_FILES array.
public
__construct(string $path, string $originalName[, string|null $mimeType = null ][, int|null $size = null ][, int|null $error = null ][, string|null $clientPath = null ]) : mixed
Parameters
- $path : string
-
The temporary location of the uploaded file.
- $originalName : string
-
The client-provided filename.
- $mimeType : string|null = null
-
The type of file as provided by PHP
- $size : int|null = null
-
The size of the file, in bytes
- $error : int|null = null
-
The error constant of the upload (one of PHP's UPLOADERRXXX constants)
- $clientPath : string|null = null
-
The webkit relative path of the uploaded file.
getClientExtension()
Returns the original file extension, based on the file name that was uploaded. This is NOT a trusted source.
public
getClientExtension() : string
For a trusted version, use guessExtension() instead.
Return values
stringgetClientMimeType()
Returns the mime type as provided by the client.
public
getClientMimeType() : string
This is NOT a trusted value. For a trusted version, use getMimeType() instead.
Return values
stringgetClientPath()
(PHP 8.1+) Returns the webkit relative path of the uploaded file on directory uploads.
public
getClientPath() : string|null
Return values
string|nullgetDestination()
Returns the destination path for the move operation where overwriting is not expected.
public
getDestination(string $destination[, string $delimiter = '_' ][, int $i = 0 ]) : string
First, it checks whether the delimiter is present in the filename, if it is, then it checks whether the last element is an integer as there may be cases that the delimiter may be present in the filename. For the all other cases, it appends an integer starting from zero before the file's extension.
Parameters
- $destination : string
- $delimiter : string = '_'
- $i : int = 0
Return values
stringgetError()
Retrieve the error associated with the uploaded file.
public
getError() : int
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.
Tags
Return values
int —One of PHP's UPLOAD_ERR_XXX constants.
getName()
Retrieve the filename sent by the client.
public
getName() : string
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.
Return values
string —The filename sent by the client or null if none was provided.
getTempName()
Gets the temporary filename where the file was uploaded to.
public
getTempName() : string
Return values
stringhasMoved()
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.
public
hasMoved() : bool
Return values
boolisValid()
Returns whether the file was uploaded successfully, based on whether it was uploaded via HTTP and has no errors.
public
isValid() : bool
Return values
boolmove()
Move the uploaded file to a new location.
public
move(string $targetPath[, string|null $name = null ]) : bool
$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
- $targetPath : string
-
Path to which to move the uploaded file.
- $name : string|null = null
-
the name to rename the file to.