Множественное добавление файлов PHP

Добрый вечер

Недавно столкнулся с задачей загрузки на сервер файлов ,ситуация довольно типичная и шаблонная ,сложностей как правильно не вызывает ,но небольшая загвоздка заключалась в том что загружать нужно сразу несколько файлов.

Форма HTML5:

<form action="/add/" enctype="multipart/form-data" method="post">
  <input type="file" min="1" max="20" name="files[]" multiple="true"/>
  <button type="submit">Добавить</button>
</form>

Выход простой ,единственно что не совсем удобно это при множественном добавлении файлов (multiple) массив
$_FILES предстает в виде:
$_FILES[‘file’][‘name’][0] — где 0 номер файла ,гораздо удобнее
$_FILES[‘file0’][‘name’] — где 0 номер файла

Для этого набросал небольшую функцию:

function multiple($file ,$name='files') {
		$files=array();
		$data=$file[$name];
		if(is_array($data['name'])){
			for($i=0;$i<count($data['name']);$i++){
				$files[$name.$i]=array(
							'name'    =>$data['name'][$i],
							'type'  => $data['type'][$i],
							'tmp_name'=>$data['tmp_name'][$i],
							'error' => $data['error'][$i],
							'size'  => $data['size'][$i]
							  );
			}
		} else {
		$files[]=$data;
		}
		return $files;
}

Применение:

$files=multiple($_FILES,'files');
// Дальше действия над массив $files
foreach ($files as $file) {
   // работа над одним файлом
}

Спасибо за внимание =)

Гиламов Данис

Приветствую вас уважаемый посетитель! Меня зовут Данис, на страницах дневника я пишу о том что мне интересно: программирование, саморазвитие, спорт, мои размышления, творчество. Надеюсь вы сможете найди для себя полезную информацию, если вы что-то заметили, захотели обсудить, прошу оставлять комментарии в статьях, в Журнале или Написать мне Для меня - это лучшая награда. Спасибо за внимание :)

Вам также может понравиться ...