diff --git a/src/Symfony/Component/Validator/Constraints/FileValidator.php b/src/Symfony/Component/Validator/Constraints/FileValidator.php index e4e02c80fd18b..363183ec4d4bb 100644 --- a/src/Symfony/Component/Validator/Constraints/FileValidator.php +++ b/src/Symfony/Component/Validator/Constraints/FileValidator.php @@ -171,7 +171,7 @@ public function validate(mixed $value, Constraint $constraint) $mimeTypes = (array) $constraint->mimeTypes; if ($constraint->extensions) { - $fileExtension = pathinfo($basename, \PATHINFO_EXTENSION); + $fileExtension = strtolower(pathinfo($basename, \PATHINFO_EXTENSION)); $found = false; $normalizedExtensions = []; diff --git a/src/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php b/src/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php index bb2b19eef204e..3643adee821a3 100644 --- a/src/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php +++ b/src/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php @@ -556,6 +556,7 @@ private function validExtensionProvider(): iterable yield ['test.gif']; yield ['test.png.gif']; yield ['ccc.txt']; + yield ['uppercased-extension.TXT']; } /** diff --git a/src/Symfony/Component/Validator/Tests/Constraints/Fixtures/uppercased-extension.TXT b/src/Symfony/Component/Validator/Tests/Constraints/Fixtures/uppercased-extension.TXT new file mode 100644 index 0000000000000..323fae03f4606 --- /dev/null +++ b/src/Symfony/Component/Validator/Tests/Constraints/Fixtures/uppercased-extension.TXT @@ -0,0 +1 @@ +foobar