我在代码点火器3中使用不同的目录创建了一个上传表单。首先,我在每个文件输入中创建了Excel和PDF格式的上传表单。但是后来,我的老板要求我在上传表单中添加图片/ jpeg。我认为只需在允许的类型中添加jpg并在控制器中添加一些max_size即可。但是文件没有保存在数据库或文件夹路径中,它只保存excel和PDF格式,我试图更改用户文件但无济于事。没有错误显示,所以我现在有点困惑。希望您能对此有所帮助,因为我仍在学习Code-igniter。
控制器:
public function file_data() {
$this->load->view('templates/header');
$data['program'] = $this->input->post('program');
$this->load->library('form_validation');
$this->form_validation->set_rules('program', 'Program', 'trim|required');
$this->form_validation->set_rules('file_nilai', 'File Nilai', 'required');
$this->form_validation->set_rules('file_absen', 'File Kehadiran', 'required');
//$this->load->library('upload');
$config['upload_path'] = './uploaded_files/laporan/absen';
$config['allowed_types'] = 'jpg|jpeg|pdf';
$config['max_size'] = '2048';
$this->load->library('upload');
$this->upload->initialize($config);
if (!$this->upload->do_upload('file_absen')) {
$this->session->set_flashdata('file_error', 'File type tidak sesuai.');
$this->load->view('guru/upload_form', $data);
} else {
$upload_data_absen = $this->upload->data();
unset($config);
$config['upload_path'] = './uploaded_files/laporan/nilai';
$config['allowed_types'] = 'xls|xlsx|pdf|jpg|jpeg';
$config['overwrite'] = FALSE;
$config['max_size'] = '2048';
$this->load->library('upload');
$this->upload->initialize($config);
if (!$this->upload->do_upload('file_nilai')) {
$this->session->set_flashdata('file_error', 'File type tidak sesuai.');
$this->load->view('guru/upload_form', $data);
} else {
$upload_data_nilai = $this->upload->data();
//get the uploaded file name
$data['file_absen'] = $upload_data_absen['file_name'];
$data['file_nilai'] = $upload_data_nilai['file_name'];
//store files data to the db
$this->laporan_model->simpan_data($data);
$this->session->set_flashdata('file_success', 'Upload File Berhasil!');
redirect(base_url() . "guru/laporan_np");
}
}
$this->load->view('templates/footer');
}
型号:
function simpan_data($data){
$data_user=$this->session->userdata('username');
$insert_data['guru'] = $data_user;
$insert_data['program'] = $data['program'];
$insert_data['file_nilai'] = $data['file_nilai'];
$insert_data['file_absen'] = $data['file_absen'];
$query = $this->db->insert('berkas', $insert_data);
}
查看:
<?php echo form_open_multipart('guru/laporan_np/file_data');?>
<div class="form-group">
<label for="file_nilai">File Nilai <span style="color:#FF0000">*</span>:</label>
<input type="file" name="file_nilai" class="form-control" id="file_nilai" required>
<span><p>Allowed file types: <strong>xls, xlsx, jpeg, jpg</strong></p></span>
<?php if ($this->session->flashdata('file_error')) { ?>
<div class="alert alert-danger alert-dismissible" style="width:20%"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> <?= $this->session->flashdata('file_error') ?> </div>
<?php } ?>
</div>
<div class="form-group">
<label for="file_absen">File Kehadiran <span style="color:#FF0000">*</span>:</label>
<input type="file" name="file_absen" class="form-control" id="file_absen" required>
<span><p>Allowed file types: <strong>pdf, jpeg, jpg</strong></p></span>
<?php if ($this->session->flashdata('file_error')) { ?>
<div class="alert alert-danger alert-dismissible" style="width:20%"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><?= $this->session->flashdata('file_error') ?> </div>
<?php } ?>
</div>
<a href="<?=base_url(). 'guru/laporan_np';?>" class="btn btn-warning"><span class="fa fa-arrow-left"></span> Back</a>
<button type="submit" class="btn btn-success"><span class="fa fa-save"></span> Submit</button>
</form>
<?php echo form_close(); ?>
</div>
答案 0 :(得分:1)
您必须更改此
$this->load->library('upload');
收件人
$this->load->library('upload',$config);
可能是在上传文件时出现问题。
并使用一种配置。