function file_validate_extensions
Same name in other branches
- 7.x includes/file.inc \file_validate_extensions()
- 9 core/modules/file/file.module \file_validate_extensions()
- 10 core/modules/file/file.module \file_validate_extensions()
Checks that the filename ends with an allowed extension.
Parameters
\Drupal\file\FileInterface $file: A file entity.
string $extensions: A string with a space separated list of allowed extensions.
Return value
array An empty array if the file extension is allowed or an array containing an error message if it's not.
See also
4 calls to file_validate_extensions()
- FileUploadResource::prepareFilename in core/
modules/ file/ src/ Plugin/ rest/ resource/ FileUploadResource.php - Prepares the filename to strip out any malicious extensions.
- TemporaryJsonapiFileFieldUploader::prepareFilename in core/
modules/ jsonapi/ src/ Controller/ TemporaryJsonapiFileFieldUploader.php - Prepares the filename to strip out any malicious extensions.
- ValidatorTest::testFileValidateExtensions in core/
modules/ file/ tests/ src/ Kernel/ ValidatorTest.php - Test the file_validate_extensions() function.
- _file_save_upload_single in core/
modules/ file/ file.module - Saves a file upload to a new location.
File
-
core/
modules/ file/ file.module, line 383
Code
function file_validate_extensions(FileInterface $file, $extensions) {
$errors = [];
$regex = '/\\.(' . preg_replace('/ +/', '|', preg_quote($extensions)) . ')$/i';
if (!preg_match($regex, $file->getFilename())) {
$errors[] = t('Only files with the following extensions are allowed: %files-allowed.', [
'%files-allowed' => $extensions,
]);
}
return $errors;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.