diff --git a/src/Symfony/Component/HttpFoundation/FileBag.php b/src/Symfony/Component/HttpFoundation/FileBag.php index 3c3612ef25..65242453c3 100644 --- a/src/Symfony/Component/HttpFoundation/FileBag.php +++ b/src/Symfony/Component/HttpFoundation/FileBag.php @@ -113,6 +113,8 @@ class FileBag extends ParameterBag */ protected function fixPhpFilesArray($data) { + // Remove extra key added by PHP 8.1. + unset($data['full_path']); $keys = array_keys($data); sort($keys); diff --git a/src/Symfony/Component/HttpFoundation/Tests/FileBagTest.php b/src/Symfony/Component/HttpFoundation/Tests/FileBagTest.php index 7b33df471d..b12621e7dd 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/FileBagTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/FileBagTest.php @@ -45,6 +45,23 @@ class FileBagTest extends TestCase $this->assertEquals($file, $bag->get('file')); } + public function testShouldConvertsUploadedFilesPhp81() + { + $tmpFile = $this->createTempFile(); + $file = new UploadedFile($tmpFile, basename($tmpFile), 'text/plain'); + + $bag = new FileBag(['file' => [ + 'name' => basename($tmpFile), + 'full_path' => basename($tmpFile), + 'type' => 'text/plain', + 'tmp_name' => $tmpFile, + 'error' => 0, + 'size' => null, + ]]); + + $this->assertEquals($file, $bag->get('file')); + } + public function testShouldSetEmptyUploadedFilesToNull() { $bag = new FileBag(['file' => [