public static function normalizeFiles(array
$files): array
{ $normalized =
[];
foreach ($files as $key =>
$value) { if ($value instanceof UploadedFileInterface
) { $normalized[$key] =
$value;
} elseif (is_array($value) &&
isset($value['tmp_name'
])) { $normalized[$key] = self::
createUploadedFileFromSpec($value);
} elseif (is_array($value)) { $normalized[$key] = self::
normalizeFiles($value);
continue;
} else { throw new InvalidArgumentException('Invalid value in files specification'
);
} } return $normalized;
} /**
* Create and return an UploadedFile instance from a $_FILES specification.
*
* If the specification represents an array of values, this method will
* delegate to normalizeNestedFileSpec() and return that return value.
*
* @param array $value $_FILES struct
*
* @return UploadedFileInterface|UploadedFileInterface[]
*/