Multi upload
Материал из Wiki
(Перенаправлено с Wiki:Портал сообщества)
Метод, расширяющий библиотеку Upload и позволяющий загружать не обычное поле(напр. userfile), а массив полей (userfile[]). Метод пользуется "родным" методом do_upload() и занимается тем, что подготавливает данные для его многократного воспроизведения. Использование аналогично стандартному, за исключением того, что сама функция загрузки возвращает массив данных с информацией о загруженных файлов. Информация идентична той, что вы получаете, пользуясь стандартным методом data().
/**
* Загружает массив файлов на сервер
*
* @access public
* @return array
*/
function multi_upload($field='userfield')
{
if (!empty($_FILES[$field]))
{
$multi_data=array();
foreach ($_FILES[$field]['name'] AS $index => $val)
{
if(!empty($_FILES[$field]['name'][$index])) {
foreach ($_FILES[$field] AS $key => $val_arr)
{
$_FILES[$field.$index][$key] = $val_arr[$index];
}
self::do_upload($field.$index);
$multi_data[$index]=self::data();
$multi_data[$index]["error"]=self::display_errors();
$this->file_name ="";
}
}
unset($_FILES[$field]);
return $multi_data;
}
}