【问题标题】:upload different type files using codeigniter 3?使用codeigniter 3上传不同类型的文件?
【发布时间】:2018-05-29 11:04:04
【问题描述】:

是否可以使用两个输入文件上传不同类型的文件?我创建了一个带有两个输入的表单上传,现在我很困惑为什么即使我上传了不同名称的不同文件,文件名也是相同的?

这是我的控制器:

public function file_data() {

    $data['program'] = $this->input->post('program');
    $this->load->library('upload');

    $config['upload_path'] = './uploaded_files/laporan/absen';
    $config['allowed_types'] = 'pdf';

    $this->upload->initialize($config);
    if (!$this->upload->do_upload('file_absen')) {
        $error = array('error' => $this->upload->display_errors());
        $this->load->view('tutor/upload_form', $error);

    } else {
        unset($config);
        $config['upload_path'] = './uploaded_files/laporan/nilai';
        $config['allowed_types'] = 'xls|xlsx';
        $config['overwrite'] = FALSE;
        //$config['max_size'] = '15000';
        $this->upload->initialize($config);
        if (!$this->upload->do_upload('file_nilai')) {
            $error = array('error' => $this->upload->display_errors());
            $this->load->view('tutor/upload_form', $error); 
        } else {
            $upload_data = $this->upload->data();

            //get the uploaded file name
            $data['file_absen'] = $upload_data['file_name'];
            $data['file_nilai'] = $upload_data['file_name'];

            //store pic data to the db
            $this->laporan_model->simpan_data($data);
            redirect(base_url() . "tutor/laporan_np");
        }
    }
}

这是我的模型:

//fetch all data from db
function ambil_data(){
    $all_files = $this->db->get('laporan');
    return $files_pics->result();
}

//save datadata to db
function simpan_data($data){
    $insert_data['program']    = $data['program'];  
    $insert_data['file_nilai'] = $data['file_nilai'];
    $insert_data['file_absen'] = $data['file_absen'];       


    $query = $this->db->insert('laporan', $insert_data);
}

<div class="form-group">
    <label for="file_nilai">File Nilai*:</label>
    <input type="file" name="file_nilai" class="form-control"  id="file_nilai">
  </div>
  <div class="form-group">
    <label for="file_absen">File Absen*:</label>
    <input type="file" name="file_absen" class="form-control"  id="file_absen">
  </div>

【问题讨论】:

  • 你能发布你的 $upload_data 数组吗?回声'
    '; print_r($upload_data);回声'
    ';

标签: php codeigniter file-upload


【解决方案1】:

您可以将条件重写为:

public function file_data() {

    $data['program'] = $this->input->post('program');
    $this->load->library('upload');

    $config['upload_path'] = './uploaded_files/laporan/absen';
    $config['allowed_types'] = 'pdf';

    $this->upload->initialize($config);
    if (!$this->upload->do_upload('file_absen')) {
        $error = array('error' => $this->upload->display_errors());
        $this->load->view('tutor/upload_form', $error);

    } else {
        $upload_data_absen = $this->upload->data(); // added this..
        unset($config);
        $config['upload_path'] = './uploaded_files/laporan/nilai';
        $config['allowed_types'] = 'xls|xlsx';
        $config['overwrite'] = FALSE;
        //$config['max_size'] = '15000';
        $this->upload->initialize($config);
        if (!$this->upload->do_upload('file_nilai')) {
            $error = array('error' => $this->upload->display_errors());
            $this->load->view('tutor/upload_form', $error); 
        } else {
            $upload_data_nilai = $this->upload->data(); // changed this..

            //get the uploaded file name
            $data['file_absen'] = $upload_data_absen['file_name']; // changed this..
            $data['file_nilai'] = $upload_data_nilai['file_name']; // changed this..

            //store pic data to the db
            $this->laporan_model->simpan_data($data);
            redirect(base_url() . "tutor/laporan_np");
        }
    }
}

【讨论】:

  • 我从没想过将名称 $upload_data 更改为每个条件..非常感谢@Hasta Dhana..这对我有用:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-11
  • 2013-04-04
  • 1970-01-01
  • 2015-04-28
  • 1970-01-01
  • 2023-03-22
  • 2020-07-31
相关资源
最近更新 更多