Как загрузить файл с нескольких входов с помощью codeigniter - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть три разных входных файла, и я хочу загрузить их из разных папок.Мои коды ниже отлично работают во время загрузки, но он идет только в одну папку, которая всегда находится в папке "org_chart".

Это из моего контроллера:

    foreach ($_FILES as $key => $value) {
        if ($key == "updated-org-chart") {
            $config['allowed_types'] = 'pdf';
        $config['upload_path']   = './assets/manpower_requisition/org_chart/';
        $this->load->library('upload', $config);
        $this->upload->do_upload($key);
        }elseif ($key == "job-description") {
            $config['allowed_types'] = 'pdf';
        $config['upload_path']   = './assets/manpower_requisition/jd/';
        $this->load->library('upload', $config);
        $this->upload->do_upload($key);
        }elseif ($key == "bsc") {
            $config['allowed_types'] = 'pdf';
        $config['upload_path']   = './assets/manpower_requisition/bsc/';
        $this->load->library('upload', $config);
        $this->upload->do_upload($key);
        }
    }

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

После долгих часов, потраченных на эту проблему, я нашел решение, которое решило бы мою проблему.Codeigniter не позволяет дважды вызывать класс с новым параметром, вместо этого он должен «повторно инициализировать» класс загрузки.Вот некоторые статьи, которые, похоже, совпадают с проблемой. Статьи по теме

$config['allowed_types'] = 'pdf';    
$this->load->library('upload', $config);
$this->upload->initialize($config);
$this->upload->do_upload($key);
0 голосов
/ 11 февраля 2019

Вы можете использовать конфигурацию, как показано ниже:

foreach ($_FILES as $key => $value) {
    switch ($key) {
        case 'updated-org-chart':
            $config['upload_path']   = './assets/manpower_requisition/org_chart/';
            break;

        case 'job-description':
            $config['upload_path']   = './assets/manpower_requisition/jd/';
            break;

        case 'bsc':
            $config['upload_path']   = './assets/manpower_requisition/bsc/';
            break;

        default:
            $config['upload_path']   = './assets/manpower_requisition/org_chart/';
            break;
    }
    $config['allowed_types'] = 'pdf';
    $this->load->library('upload', $config);
    $this->upload->do_upload($key);
}
...