В общем formdata у вас конкретно одна, что вы еще называете формой я не понял. И под эту одну форму заточен соответственно процессинг. Если вы хотите добавить туда несколько кнопок file то надо просто добавить в их имя вот такой текст [] - в конец имени. И соответственно во всех скриптах - js и php - обеспечить обработку еще одного измерения массива. А ну да, в js не надо если все сделано на событиях - я из этой каши не понял как сделано. А в php надо.
Вот так надо рендерить, чтобы получилось вот так:
 
<input type="file" id="userfile" name="userfile[]" />
Про id я не знаю, если js на event'ах ему пофигу id, а если нет - то id как name.
Затем в php (хрень про whitelist - в газенваген, это все проверяется в рабочем цикле)
	
	| 
		 Код: 
	 | 
	foreach($_FILES['userfile'] as $uploadedFile)
   $folder.$file_name."_".basename($uploadedFile['name']);
// ну или типа того, я всегда забываю устройство $_FILES  | 
	
потому что один раз написал функцию транспозинга и с тех пор не помню как он устроен.
Она существует в туевой хуче вариантов, у меня в таком, который цепляет файлы в $_POST (гетом как-то не приходилось еще файлы передавать)
	
	| 
		 Код: 
	 | 
	public function get_postfiles($table=null) {
	
	if(!$table)
		$table=$this->table_name;
		
	$post=array();
	
	if(!empty($_POST) && isset($_POST[$table]))
		$post=$_POST[$table];
	if(!empty($_FILES) && isset($_FILES[$table])) {
		foreach($_FILES[$table] as $field=>$values)
			foreach($values as $index=>$value)
				if(is_array($value))
					foreach($value as $i=>$v)
						$post[$index][$i][$field]=$v;
				else
					$post[$index][0][$field]=$value;
						
	}
		
	return (empty($post))?null:$post;
} |