laminas/laminas-validator
Laminas Validator provides flexible, reusable validation rules for PHP applications. Includes built-in validators, input filtering/validation chains, and tools for validating common data types like emails, URLs, numbers, strings, and more.
Laminas\Validator\File\MimeType checks the MIME type of files. It will assert
true when a given file matches any defined MIME type.
This validator is inversely related to the ExcludeMimeType validator
NOTE: Compatibility
This component makes use of the FileInfo extension which is enabled by default in PHP.
If you are using a version of PHP that was explicitly built without the File Info extension, this validator will not work.
The following set of options are supported:
mimeType: Comma-delimited string of MIME types, or array of MIME types,
against which to test. Types can be specific (e.g., image/jpeg), or refer
only to the group (e.g., image).use Laminas\Validator\File\MimeType;
// Only allow 'gif' or 'jpg' files
$validator = new MimeType(['mimeType' => 'image/gif,image/jpeg']);
// ... or with array notation:
$validator = new MimeType(['mimeType' => ['image/gif', 'image/jpeg']]);
// ... or restrict to entire group of types:
$validator = new MimeType(['mimeType' => ['image', 'audio']]);
// Perform validation
if ($validator->isValid('./myfile.jpg')) {
// file is valid
}
WARNING: Validating MIME Groups Is Potentially Dangerous
Allowing "groups" of MIME types will accept all members of this group, even if your application does not support them.
For instance, When you allowimage you also allow image/xpixmap and image/vasa, both of which could be problematic.
This validator accepts and validates 3 types of argument:
$_FILES superglobalUploadedFileInterface instanceHow can I help you explore Laravel packages today?