【发布时间】:2015-08-10 09:04:20
【问题描述】:
我在处理 CodeIgniter 2.2 中的文件上传时遇到问题。 我能够创建其特定的文件夹目的地,但我无法上传我选择的文件。
这是我的控制器:
function create_report()
{
if($this->session->userdata('logged_in'))
{
$this->create_model->set_report();
$this->session->set_flashdata('message', 'Success! You created a Report!');
#$redirect($_SERVER['HTTP_REFERER'], 'refresh');
}
else
{
$this->session->set_flashdata('message', 'Oops! You have to Login');
//If no session, redirect to login page
redirect('login', 'refresh');
}
}
这是我的模型:
function set_report()
{
if($this->session->userdata('logged_in'))
{
$session_data = $this->session->userdata('logged_in');
if($_FILES['userfile']['name'] != NULL)
{
$main_dir = './FILES/'.$this->input->post('patientname').'/';
// Check if User Folder is already created. Create New if none exist
if(!is_dir($main_dir)){
mkdir($main_dir, 0777);
}
$target_dir = './FILES/'.$this->input->post('patientname').'/'.$this->input->post('session_id').'/';
// Check if Session Folder is already created. Create New if none exist
if(!is_dir($target_dir)) {
mkdir($target_dir, 0777);
}
$config['upload_path'] = './FILES/'.$this->input->post('patientname').'/'.$this->input->post('session_id').'/';
$config['allowed_types'] = 'gif|jpg|png|docx|xlsx|doc|pdf|csv|zip|rar|7zip|ppt|pptx';
$this->load->library('upload', $config);
$data2 = array('upload_data' => $this->upload->data());
}
$data = array(
'session_id' => $this->input->post('session_id'),
'report_creator' => $session_data['username'],
'report_patientname' => $this->input->post('patientname'),
'report_patientid' => $this->input->post('patientid'),
'report_subject' => $this->input->post('subject'),
'report_description' => $this->input->post('description'),
'report_time' => $this->input->post('date'),
'report_date' => $this->input->post('time')
);
return $this->db->insert('session_reports', $data);
}
}
我一直在尝试解决这个问题,但我还没有弄清楚关键。 我希望任何人都可以帮助我。
【问题讨论】:
-
所以?你的错误是什么?您是否尝试显示
$this->upload->display_errors()以查看问题所在? -
顺便说一句,您忘记了
$this->upload->do_upload($field_name)来上传您的文件。阅读文档:ellislab.com/codeigniter/user-guide/libraries/… -
你确定
mkdir($main_dir, 0777)工作正常吗?? -
@VincentDecaux 没有错误显示,我也尝试过 ` $field_name = "userfile"; $this->upload->do_upload($field_name); `
-
@Abdulla。是的。它正在工作
标签: php codeigniter