protected function addPostFiles(array $files, array &$multipart, $arrayName = '') { if (empty($files)) { return; } foreach ($files as $name => $info) { if (!empty($arrayName)) { $name = $arrayName . '[' . $name . ']'; } $file = ['name' => $name]; if (is_array($info)) { if (isset($info['tmp_name'])) { if ('' !== $info['tmp_name']) { $file['contents'] = fopen($info['tmp_name'], 'r'); if (isset($info['name'])) { $file['filename'] = $info['name']; } } else { continue; } } else { $this->addPostFiles($info, $multipart, $name); continue; } } else { $file['contents'] = fopen($info, 'r'); } $multipart[] = $file; } }