ImageSize
extends AbstractValidator
in package
uses
FileInformationTrait
Validator for the image size of an image file
Table of Contents
Constants
- HEIGHT_TOO_BIG = 'fileImageSizeHeightTooBig'
- HEIGHT_TOO_SMALL = 'fileImageSizeHeightTooSmall'
- NOT_DETECTED = 'fileImageSizeNotDetected'
- NOT_READABLE = 'fileImageSizeNotReadable'
- WIDTH_TOO_BIG = 'fileImageSizeWidthTooBig'
- WIDTH_TOO_SMALL = 'fileImageSizeWidthTooSmall'
Properties
- $messageTemplates : array<string, string>
- $messageVariables : array<string, mixed>
- $options : array<string, mixed>
- $abstractOptions : AbstractOptions|array<string, mixed>
- $defaultTranslator : TranslatorInterface
- Default translation object for all validate objects
- $defaultTranslatorTextDomain : string
- Default text domain to be used with translator
- $height : int
- Detected height
- $messageLength : int
- Limits the maximum returned length of an error message
- $messageTemplates : array<string|int, mixed>
- $messageVariables : array<string|int, mixed>
- $options : array<string|int, mixed>
- Options for this validator
- $value : mixed
- The value to be validated
- $width : int
- Detected width
Methods
- __construct() : mixed
- Sets validator options
- __get() : mixed
- Magic function returns the value of the requested property, if and only if it is the value or a message variable.
- __invoke() : bool
- Invoke as command
- getDefaultTranslator() : TranslatorInterface|null
- Get default translation object for all validate objects
- getDefaultTranslatorTextDomain() : string
- Get default translation text domain for all validate objects
- getImageHeight() : array<string|int, mixed>
- Returns the set image height sizes
- getImageMax() : array<string|int, mixed>
- Returns the set maximum image sizes
- getImageMin() : array<string|int, mixed>
- Returns the set minimum image sizes
- getImageWidth() : array<string|int, mixed>
- Returns the set image width sizes
- getMaxHeight() : int
- Returns the maximum allowed height
- getMaxWidth() : int
- Returns the maximum allowed width
- getMessageLength() : int
- Returns the maximum allowed message length
- getMessages() : array<string, string>
- Returns array of validation failure messages
- getMessageTemplates() : array<string, string>
- Returns the message templates from the validator
- getMessageVariables() : array<int, string>
- Returns an array of the names of variables that are used in constructing validation failure messages
- getMinHeight() : int
- Returns the minimum allowed height
- getMinWidth() : int
- Returns the minimum allowed width
- getOption() : mixed
- Returns an option
- getOptions() : array<string, mixed>
- Returns all available options
- getTranslator() : TranslatorInterface|null
- Return translation object
- getTranslatorTextDomain() : string
- Return the translation text domain
- hasDefaultTranslator() : bool
- Is there a default translation object set?
- hasTranslator() : bool
- Does this validator have its own specific translator?
- isTranslatorEnabled() : bool
- Is translation enabled?
- isValid() : bool
- Returns true if and only if the image size of $value is at least min and not bigger than max
- isValueObscured() : bool
- Retrieve flag indicating whether or not value should be obfuscated in messages
- setDefaultTranslator() : void
- Set default translation object for all validate objects
- setDefaultTranslatorTextDomain() : void
- Set default translation text domain for all validate objects
- setImageHeight() : $this
- Sets the minimum and maximum image height
- setImageMax() : $this
- Sets the maximum image size
- setImageMin() : $this
- Sets the minimum image size
- setImageWidth() : $this
- Sets the minimum and maximum image width
- setMaxHeight() : $this
- Sets the maximum allowed height
- setMaxWidth() : $this
- Sets the maximum allowed width
- setMessage() : $this
- Sets the validation failure message template for a particular key
- setMessageLength() : void
- Sets the maximum allowed message length
- setMessages() : $this
- Sets validation failure message templates given as an array, where the array keys are the message keys, and the array values are the message template strings.
- setMinHeight() : $this
- Sets the minimum allowed height
- setMinWidth() : $this
- Sets the minimum allowed width
- setOptions() : $this
- Sets one or multiple options
- setTranslator() : $this
- Set translation object
- setTranslatorEnabled() : $this
- Indicate whether or not translation should be enabled
- setTranslatorTextDomain() : $this
- Set translation text domain
- setValueObscured() : $this
- Set flag indicating whether or not value should be obfuscated in messages
- createMessage() : null|string
- Constructs and returns a validation failure message with the given message key and value.
- error() : void
- getFileInfo() : array<string|int, mixed>
- Returns array if the procedure is identified
- getValue() : mixed
- Returns the validation value
- setValue() : void
- Sets the value to be validated and clears the messages and errors arrays
- translateMessage() : string
- Translate a validation message
- getFileBasedFileInfo() : array<string|int, mixed>
- Generate file information array with base method
- getLegacyFileInfo() : array<string|int, mixed>
- Generate file information array with legacy Laminas_File_Transfer API
- getPsr7FileInfo() : array<string|int, mixed>
- Generate file information array with PSR-7 UploadedFileInterface
- getSapiFileInfo() : array<string|int, mixed>
- Generate file information array with SAPI
Constants
HEIGHT_TOO_BIG
public
mixed
HEIGHT_TOO_BIG
= 'fileImageSizeHeightTooBig'
HEIGHT_TOO_SMALL
public
mixed
HEIGHT_TOO_SMALL
= 'fileImageSizeHeightTooSmall'
NOT_DETECTED
public
mixed
NOT_DETECTED
= 'fileImageSizeNotDetected'
NOT_READABLE
public
mixed
NOT_READABLE
= 'fileImageSizeNotReadable'
WIDTH_TOO_BIG
public
mixed
WIDTH_TOO_BIG
= 'fileImageSizeWidthTooBig'
Tags
WIDTH_TOO_SMALL
public
mixed
WIDTH_TOO_SMALL
= 'fileImageSizeWidthTooSmall'
Properties
$messageTemplates
public
array<string, string>
$messageTemplates
$messageVariables
public
array<string, mixed>
$messageVariables
$options
public
array<string, mixed>
$options
$abstractOptions
protected
AbstractOptions|array<string, mixed>
$abstractOptions
= [
'messages' => [],
// Array of validation failure messages
'messageTemplates' => [],
// Array of validation failure message templates
'messageVariables' => [],
// Array of additional variables available for validation failure messages
'translator' => null,
// Translation object to used -> Translator\TranslatorInterface
'translatorTextDomain' => null,
// Translation text domain
'translatorEnabled' => true,
// Is translation enabled?
'valueObscured' => false,
]
$defaultTranslator
Default translation object for all validate objects
protected
static TranslatorInterface
$defaultTranslator
$defaultTranslatorTextDomain
Default text domain to be used with translator
protected
static string
$defaultTranslatorTextDomain
= 'default'
$height
Detected height
protected
int
$height
$messageLength
Limits the maximum returned length of an error message
protected
static int
$messageLength
= -1
$messageTemplates
protected
array<string|int, mixed>
$messageTemplates
= [self::WIDTH_TOO_BIG => "Maximum allowed width for image should be '%maxwidth%' but '%width%' detected", self::WIDTH_TOO_SMALL => "Minimum expected width for image should be '%minwidth%' but '%width%' detected", self::HEIGHT_TOO_BIG => "Maximum allowed height for image should be '%maxheight%' but '%height%' detected", self::HEIGHT_TOO_SMALL => "Minimum expected height for image should be '%minheight%' but '%height%' detected", self::NOT_DETECTED => 'The size of image could not be detected', self::NOT_READABLE => 'File is not readable or does not exist']
Error message template
$messageVariables
protected
array<string|int, mixed>
$messageVariables
= ['minwidth' => ['options' => 'minWidth'], 'maxwidth' => ['options' => 'maxWidth'], 'minheight' => ['options' => 'minHeight'], 'maxheight' => ['options' => 'maxHeight'], 'width' => 'width', 'height' => 'height']
Error message template variables
$options
Options for this validator
protected
array<string|int, mixed>
$options
= [
'minWidth' => null,
// Minimum image width
'maxWidth' => null,
// Maximum image width
'minHeight' => null,
// Minimum image height
'maxHeight' => null,
]
$value
The value to be validated
protected
mixed
$value
$width
Detected width
protected
int
$width
Methods
__construct()
Sets validator options
public
__construct([null|array<string|int, mixed>|Traversable $options = null ]) : mixed
Accepts the following option keys:
- minheight
- minwidth
- maxheight
- maxwidth
Parameters
- $options : null|array<string|int, mixed>|Traversable = null
__get()
Magic function returns the value of the requested property, if and only if it is the value or a message variable.
public
__get(string $property) : mixed
Parameters
- $property : string
Tags
__invoke()
Invoke as command
public
__invoke(mixed $value) : bool
Parameters
- $value : mixed
Return values
boolgetDefaultTranslator()
Get default translation object for all validate objects
public
static getDefaultTranslator() : TranslatorInterface|null
Return values
TranslatorInterface|nullgetDefaultTranslatorTextDomain()
Get default translation text domain for all validate objects
public
static getDefaultTranslatorTextDomain() : string
Return values
stringgetImageHeight()
Returns the set image height sizes
public
getImageHeight() : array<string|int, mixed>
Return values
array<string|int, mixed>getImageMax()
Returns the set maximum image sizes
public
getImageMax() : array<string|int, mixed>
Return values
array<string|int, mixed>getImageMin()
Returns the set minimum image sizes
public
getImageMin() : array<string|int, mixed>
Return values
array<string|int, mixed>getImageWidth()
Returns the set image width sizes
public
getImageWidth() : array<string|int, mixed>
Return values
array<string|int, mixed>getMaxHeight()
Returns the maximum allowed height
public
getMaxHeight() : int
Return values
intgetMaxWidth()
Returns the maximum allowed width
public
getMaxWidth() : int
Return values
intgetMessageLength()
Returns the maximum allowed message length
public
static getMessageLength() : int
Return values
intgetMessages()
Returns array of validation failure messages
public
getMessages() : array<string, string>
Return values
array<string, string>getMessageTemplates()
Returns the message templates from the validator
public
getMessageTemplates() : array<string, string>
Return values
array<string, string>getMessageVariables()
Returns an array of the names of variables that are used in constructing validation failure messages
public
getMessageVariables() : array<int, string>
Return values
array<int, string>getMinHeight()
Returns the minimum allowed height
public
getMinHeight() : int
Return values
intgetMinWidth()
Returns the minimum allowed width
public
getMinWidth() : int
Return values
intgetOption()
Returns an option
public
getOption(string $option) : mixed
Parameters
- $option : string
-
Option to be returned
Tags
Return values
mixed —Returned option
getOptions()
Returns all available options
public
getOptions() : array<string, mixed>
Return values
array<string, mixed> —Array with all available options
getTranslator()
Return translation object
public
getTranslator() : TranslatorInterface|null
Return values
TranslatorInterface|nullgetTranslatorTextDomain()
Return the translation text domain
public
getTranslatorTextDomain() : string
Return values
stringhasDefaultTranslator()
Is there a default translation object set?
public
static hasDefaultTranslator() : bool
Return values
boolhasTranslator()
Does this validator have its own specific translator?
public
hasTranslator() : bool
Return values
boolisTranslatorEnabled()
Is translation enabled?
public
isTranslatorEnabled() : bool
Return values
boolisValid()
Returns true if and only if the image size of $value is at least min and not bigger than max
public
isValid(string|array<string|int, mixed> $value[, array<string|int, mixed> $file = null ]) : bool
Parameters
- $value : string|array<string|int, mixed>
-
Real file to check for image size
- $file : array<string|int, mixed> = null
-
File data from \Laminas\File\Transfer\Transfer (optional)
Return values
boolisValueObscured()
Retrieve flag indicating whether or not value should be obfuscated in messages
public
isValueObscured() : bool
Return values
boolsetDefaultTranslator()
Set default translation object for all validate objects
public
static setDefaultTranslator([TranslatorInterface|null $translator = null ][, string $textDomain = null ]) : void
Parameters
- $translator : TranslatorInterface|null = null
- $textDomain : string = null
-
(optional)
Tags
setDefaultTranslatorTextDomain()
Set default translation text domain for all validate objects
public
static setDefaultTranslatorTextDomain([string $textDomain = 'default' ]) : void
Parameters
- $textDomain : string = 'default'
setImageHeight()
Sets the minimum and maximum image height
public
setImageHeight(array<string|int, mixed> $options) : $this
Parameters
- $options : array<string|int, mixed>
-
The image height dimensions
Return values
$this —Provides a fluent interface
setImageMax()
Sets the maximum image size
public
setImageMax(array<string|int, mixed>|Traversable $options) : $this
Parameters
- $options : array<string|int, mixed>|Traversable
-
The maximum image dimensions
Return values
$this —Provides a fluent interface
setImageMin()
Sets the minimum image size
public
setImageMin(array<string|int, mixed> $options) : $this
Parameters
- $options : array<string|int, mixed>
-
The minimum image dimensions
Return values
$this —Provides a fluent interface
setImageWidth()
Sets the minimum and maximum image width
public
setImageWidth(array<string|int, mixed> $options) : $this
Parameters
- $options : array<string|int, mixed>
-
The image width dimensions
Return values
$this —Provides a fluent interface
setMaxHeight()
Sets the maximum allowed height
public
setMaxHeight(int $maxHeight) : $this
Parameters
- $maxHeight : int
Tags
Return values
$this —Provides a fluid interface
setMaxWidth()
Sets the maximum allowed width
public
setMaxWidth(int $maxWidth) : $this
Parameters
- $maxWidth : int
Tags
Return values
$this —Provides a fluid interface
setMessage()
Sets the validation failure message template for a particular key
public
setMessage(string $messageString[, string|null $messageKey = null ]) : $this
Parameters
- $messageString : string
- $messageKey : string|null = null
-
OPTIONAL
Tags
Return values
$this —Provides a fluent interface
setMessageLength()
Sets the maximum allowed message length
public
static setMessageLength([int $length = -1 ]) : void
Parameters
- $length : int = -1
setMessages()
Sets validation failure message templates given as an array, where the array keys are the message keys, and the array values are the message template strings.
public
setMessages(array<string, string> $messages) : $this
Parameters
- $messages : array<string, string>
Return values
$thissetMinHeight()
Sets the minimum allowed height
public
setMinHeight(int $minHeight) : $this
Parameters
- $minHeight : int
Tags
Return values
$this —Provides a fluid interface
setMinWidth()
Sets the minimum allowed width
public
setMinWidth(int $minWidth) : $this
Parameters
- $minWidth : int
Tags
Return values
$this —Provides a fluid interface
setOptions()
Sets one or multiple options
public
setOptions([array<string, mixed>|Traversable<string, mixed> $options = [] ]) : $this
Parameters
- $options : array<string, mixed>|Traversable<string, mixed> = []
-
Options to set
Tags
Return values
$this —Provides fluid interface
setTranslator()
Set translation object
public
setTranslator([TranslatorInterface|null $translator = null ][, string $textDomain = null ]) : $this
Parameters
- $translator : TranslatorInterface|null = null
-
[optional] translator. Default is null, which sets no translator.
- $textDomain : string = null
-
(optional)
Tags
Return values
$thissetTranslatorEnabled()
Indicate whether or not translation should be enabled
public
setTranslatorEnabled([bool $enabled = true ]) : $this
Parameters
- $enabled : bool = true
Return values
$thissetTranslatorTextDomain()
Set translation text domain
public
setTranslatorTextDomain([string $textDomain = 'default' ]) : $this
Parameters
- $textDomain : string = 'default'
Return values
$thissetValueObscured()
Set flag indicating whether or not value should be obfuscated in messages
public
setValueObscured(bool $flag) : $this
Parameters
- $flag : bool
Return values
$thiscreateMessage()
Constructs and returns a validation failure message with the given message key and value.
protected
createMessage(string $messageKey, string|array<string|int, mixed>|object $value) : null|string
Returns null if and only if $messageKey does not correspond to an existing template.
If a translator is available and a translation exists for $messageKey, the translation will be used.
Parameters
- $messageKey : string
- $value : string|array<string|int, mixed>|object
Return values
null|stringerror()
protected
error(string|null $messageKey[, null|string|array<string|int, mixed>|object $value = null ]) : void
Parameters
- $messageKey : string|null
- $value : null|string|array<string|int, mixed>|object = null
-
OPTIONAL
getFileInfo()
Returns array if the procedure is identified
protected
getFileInfo(string|array<string|int, mixed>|object $value[, null|array<string|int, mixed> $file = null ][, bool $hasType = false ][, bool $hasBasename = false ]) : array<string|int, mixed>
Parameters
- $value : string|array<string|int, mixed>|object
-
Filename to check
- $file : null|array<string|int, mixed> = null
-
File data (when using legacy Laminas_File_Transfer API)
- $hasType : bool = false
-
Return with filetype (optional)
- $hasBasename : bool = false
-
Return with basename - is calculated from location path (optional)
Return values
array<string|int, mixed>getValue()
Returns the validation value
protected
getValue() : mixed
Return values
mixed —Value to be validated
setValue()
Sets the value to be validated and clears the messages and errors arrays
protected
setValue(mixed $value) : void
Parameters
- $value : mixed
translateMessage()
Translate a validation message
protected
translateMessage(string $messageKey, string $message) : string
Parameters
- $messageKey : string
- $message : string
Return values
stringgetFileBasedFileInfo()
Generate file information array with base method
private
getFileBasedFileInfo(string $file[, bool $hasType = false ][, bool $hasBasename = false ]) : array<string|int, mixed>
Parameters
- $file : string
-
File path
- $hasType : bool = false
-
Return with filetype
- $hasBasename : bool = false
-
Filename is calculated from location path
Return values
array<string|int, mixed>getLegacyFileInfo()
Generate file information array with legacy Laminas_File_Transfer API
private
getLegacyFileInfo(array<string|int, mixed> $file[, bool $hasType = false ][, bool $hasBasename = false ]) : array<string|int, mixed>
Parameters
- $file : array<string|int, mixed>
-
File data
- $hasType : bool = false
-
Return with filetype
- $hasBasename : bool = false
-
Basename is calculated from location path
Return values
array<string|int, mixed>getPsr7FileInfo()
Generate file information array with PSR-7 UploadedFileInterface
private
getPsr7FileInfo(UploadedFileInterface $file[, bool $hasType = false ][, bool $hasBasename = false ]) : array<string|int, mixed>
Parameters
- $file : UploadedFileInterface
- $hasType : bool = false
-
Return with filetype
- $hasBasename : bool = false
-
Filename is calculated from location path
Return values
array<string|int, mixed>getSapiFileInfo()
Generate file information array with SAPI
private
getSapiFileInfo(array<string|int, mixed> $file[, bool $hasType = false ][, bool $hasBasename = false ]) : array<string|int, mixed>
Parameters
- $file : array<string|int, mixed>
-
File data from SAPI
- $hasType : bool = false
-
Return with filetype
- $hasBasename : bool = false
-
Filename is calculated from location path