PHP Class Sirius\Upload\Handler

Inheritance: implements Sirius\Upload\UploadHandlerInterface
显示文件 Open project: siriusphp/upload Class Usage Examples

Protected Properties

Property Type Description
$autoconfirm boolean Whether or not the uploaded files are auto confirmed
$container Sirius\Upload\Container\ContainerInterface
$overwrite boolean When uploading a file that has the same name as a file that is already in the container should it overwrite it or use another name
$prefix string | callback It can be a subfolder (if it ends with '/', a string to be used as prefix) or a callback that returns a string
$sanitizerCallback function | callback
$validator Sirius\Validation\ValueValidator

Public Methods

Method Description
__construct ( $directoryOrContainer, array $options = [], Sirius\Validation\ValueValidator $validator = null )
addRule ( string $name, mixed $options = null, string $errorMessageTemplate = null, string $label = null ) : Handler Add validation rule (extension|size|width|height|ratio)
process ( array $files = [] ) : Sirius\Upload\Result\Collection | Sirius\Upload\Result\File Processes a file upload and returns an upload result file/collection
setAutoconfirm ( boolean $autoconfirm ) : Handler Enable/disable upload autoconfirmation Autoconfirmation does not require calling confirm()
setOverwrite ( boolean $overwrite ) : Handler Enable/disable upload overwrite
setPrefix ( string | callable $prefix ) : Handler File prefix for the upload. Can be - a folder (if it ends with /) - a string to be used as prefix - a function that returns a string
setSanitizerCallback ( callable $callback ) : Handler Set the sanitizer function for cleaning up the file names

Protected Methods

Method Description
processSingleFile ( array $file ) : array Processes a single uploaded file - sanitize the name - validates the file - if valid, moves the file to the container
sanitizeFileName ( string $name ) : string Sanitize the name of the uploaded file by stripping away bad characters and replacing "invalid" characters with underscore _
validateFile ( $file ) : mixed Validates a file according to the rules configured on the handler

Method Details

__construct() public method

public __construct ( $directoryOrContainer, array $options = [], Sirius\Validation\ValueValidator $validator = null )
$directoryOrContainer
$options array
$validator Sirius\Validation\ValueValidator

addRule() public method

Add validation rule (extension|size|width|height|ratio)
public addRule ( string $name, mixed $options = null, string $errorMessageTemplate = null, string $label = null ) : Handler
$name string
$options mixed
$errorMessageTemplate string
$label string
return Handler

process() public method

Processes a file upload and returns an upload result file/collection
public process ( array $files = [] ) : Sirius\Upload\Result\Collection | Sirius\Upload\Result\File
$files array
return Sirius\Upload\Result\Collection | Sirius\Upload\Result\File

processSingleFile() protected method

Processes a single uploaded file - sanitize the name - validates the file - if valid, moves the file to the container
protected processSingleFile ( array $file ) : array
$file array
return array

sanitizeFileName() protected method

Sanitize the name of the uploaded file by stripping away bad characters and replacing "invalid" characters with underscore _
protected sanitizeFileName ( string $name ) : string
$name string
return string

setAutoconfirm() public method

Enable/disable upload autoconfirmation Autoconfirmation does not require calling confirm()
public setAutoconfirm ( boolean $autoconfirm ) : Handler
$autoconfirm boolean
return Handler

setOverwrite() public method

Enable/disable upload overwrite
public setOverwrite ( boolean $overwrite ) : Handler
$overwrite boolean
return Handler

setPrefix() public method

File prefix for the upload. Can be - a folder (if it ends with /) - a string to be used as prefix - a function that returns a string
public setPrefix ( string | callable $prefix ) : Handler
$prefix string | callable
return Handler

setSanitizerCallback() public method

Set the sanitizer function for cleaning up the file names
public setSanitizerCallback ( callable $callback ) : Handler
$callback callable
return Handler

validateFile() protected method

Validates a file according to the rules configured on the handler
protected validateFile ( $file ) : mixed
$file
return mixed

Property Details

$autoconfirm protected_oe property

Whether or not the uploaded files are auto confirmed
protected bool $autoconfirm
return boolean

$container protected_oe property

protected ContainerInterface,Sirius\Upload\Container $container
return Sirius\Upload\Container\ContainerInterface

$overwrite protected_oe property

When uploading a file that has the same name as a file that is already in the container should it overwrite it or use another name
protected bool $overwrite
return boolean

$prefix protected_oe property

It can be a subfolder (if it ends with '/', a string to be used as prefix) or a callback that returns a string
protected string|callback $prefix
return string | callback

$sanitizerCallback protected_oe property

protected function|callback $sanitizerCallback
return function | callback

$validator protected_oe property

protected ValueValidator,Sirius\Validation $validator
return Sirius\Validation\ValueValidator