CodeIgniter загрузка нескольких файлов - PullRequest
0 голосов
/ 01 ноября 2011

Во-первых, я не спрашиваю , как выполнить многофайловую загрузку с использованием 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();
    }
}

Спасибо!

1 Ответ

0 голосов
/ 01 ноября 2011

Никаких кубиков! Вы не можете проверить загрузку с php или codeigniter, если не выполните загрузку. Как php может проверить что-то, к чему у него еще нет доступа?

Вы должны выполнить предварительную проверку с помощью javascript. Если все файлы проходят проверку js, загрузите файлы и выполните проверку с помощью php / codeigniter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...