code: private function load_files_recursive($key, $names, $tmp_names, $types, $sizes, $errors) {
          if (is_array($names)) {
              foreach ($names as $i => $name) {
                  static::load_files_recursive($key . '[' . $i . ']', $name, $tmp_names[$i], $types[$i], $sizes[$i], $errors[$i]);
              }
          } elseif ((int)$errors !== UPLOAD_ERR_NO_FILE) {
              $this->_files[$key] = new UploadedFile([
                  'name' => $names,
                  'tmp_name' => $tmp_names,
                  'type' => $types,
                  'size' => $sizes,
                  'error' => $errors,
              ]);
          }
      }
docs: Creates UploadedFile instances from $_FILE recursively.
  @param string $key key for identifying uploaded file: class name and sub-array indexes
  @param mixed $names file names provided by PHP
  @param mixed $tmp_names temporary file names provided by PHP
  @param mixed $types file types provided by PHP
  @param mixed $sizes file sizes provided by PHP
  @param mixed $errors uploading issues provided by PHP