Во-первых, я не спрашиваю , как выполнить многофайловую загрузку с использованием CodeIgniter, а скорее как предотвратить загрузку всех / всех файлов, если последний в строке не удается (из-за типа файла, размера и т. д.). По сути, я хочу использовать предварительную проверку файлов CI (до того, как что-либо будет загружено), и, если все выглядит хорошо, выполнить все загрузки.
У меня есть форма, которая загружает два файла. Если первый файл проходит проверку и метод do_upload () возвращает TRUE
, но второй файл завершается ошибкой, первый файл все еще загружен - как я могу предотвратить это?
Вот мой код:
// Controller
function upload_files()
{
// Configure first file upload
$config['upload_path'] = 'public/mp3/';
$config['overwrite'] = FALSE;
$config['allowed_types'] = 'mp3';
$config['max_size'] = '20000';
$config['remove_spaces'] = TRUE;
$this->upload->initialize($config);
// Perform first file upload
if ($this->upload->do_upload('mp3'))
{
// Store upload file info for later use
$mp3_info = $this->upload->data();
// Configure second file upload
$config['upload_path'] = 'public/doc/';
$config['overwrite'] = FALSE;
$config['allowed_types'] = 'doc|docx';
$config['max_size'] = '3000';
$config['remove_spaces'] = TRUE;
$this->upload->initialize($config);
// Perform second file upload
// Even if this fails, the first file was still uploaded
if ($this->upload->do_upload('doc'))
{
// Store upload file info for later use
$doc_info = $this->upload->data();
// Perform database interactions here
}
else
{
echo $this->upload->display_errors();
}
}
else
{
echo $this->upload->display_errors();
}
}
Спасибо!