From dc3504989b340108ff69542b18aae1be6fff1297 Mon Sep 17 00:00:00 2001 From: Alex Pott Date: Thu, 15 Jul 2021 00:09:50 +0100 Subject: [PATCH] [HttpFoundation] fix FileBag under PHP 8.1 --- .../Component/HttpFoundation/FileBag.php | 2 ++ .../HttpFoundation/Tests/FileBagTest.php | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) 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' => [