【问题标题】:How to upload file from multiple inputs with codeigniter如何使用 codeigniter 从多个输入上传文件
【发布时间】:2019-02-11 10:40:59
【问题描述】:

我有三个不同的输入文件,我想从不同的文件夹上传它。我下面的代码在上传过程中工作正常,但它只转到始终位于“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);
        }
    }

【问题讨论】:

  • 对路径配置使用不同的变量$config1['upload_path'] = 'path1'; $config2['upload_path'] = 'path2';
  • 我已经这样做了,但仍然进入同一个文件夹。 @DanishAli

标签: codeigniter file-upload multiple-input


【解决方案1】:

您可以使用如下配置:

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);
}

【讨论】:

    【解决方案2】:

    花了很长时间解决这个问题后,我找到了解决我的问题的解决方案。 Codeigniter 不允许使用新参数调用该类两次,而是必须“重新初始化”上传类。这是一些似乎与问题相同的文章。 Related Articles

    $config['allowed_types'] = 'pdf';    
    $this->load->library('upload', $config);
    $this->upload->initialize($config);
    $this->upload->do_upload($key);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-26
      • 2012-04-08
      • 2019-07-23
      • 2019-05-18
      • 2019-10-28
      • 1970-01-01
      • 2018-03-19
      • 2020-07-25
      相关资源
      最近更新 更多