[英]Unable to upload file in codeigniter text form
我有一個可以正常工作的文本表單,也有一個文件上傳表單,可以使用codeigniter文檔中的確切示例工作,但我似乎無法將兩者放在一起。 我想要一個允許文本和文件上傳的表格。 文本應轉到數據庫,然后將文件與文件路徑一起保存到數據庫中。
我嘗試添加
enctype="multipart/form-data"
到我的文本表單和文件上傳表單元素。 當前,form操作是以下方法(請參見下文)。 我試圖將來自codeigniter doc的方法添加到下面的方法中,以允許文件上傳,但是不幸的是,這不起作用。 我究竟做錯了什么? 我懷疑我需要調用$ _file嗎?
public function save()
{
$project_id = $this->input->post('project_id');
$id = $this->input->post('task_id');
if($this->input->post('cancel') !== FALSE) {
if($id)
redirect('task/view/'.$project_id.'/'.$id);
else
redirect('project/tasks/'.$project_id);
}
$this->load->library('form_validation');
$this->form_validation->set_rules('title', 'Title', 'trim|required');
etc....
if($this->form_validation->run() === false) {
$this->error = true;
if ($id)
$this->edit ($project_id, $id);
else
if($project_id)
$this->add ($project_id);
else
redirect('dashboard');
return;
}
$this->load->model('task_model');
$sql_data = array(
'project_id' => $project_id,
etc...
);
if ($id)
$this->task_model->update($this->input->post('project_id'), $id, $sql_data);
else
$id = $this->task_model->create($sql_data);
//add in upload function here
$config['upload_path'] = './upload/cell/';
$config['allowed_types'] = 'gif|jpg|png|tif';
$config['max_size'] = '1000';
$config['max_width'] = '2024';
$config['max_height'] = '1768';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());
$this->load->view('upload_forms', $error);
}
else
{
$data = array('upload_data' => $this->upload->data());
}
// end of added uploader code
redirect('project/tasks/'.$this->input->post('project_id'));
}
嘗試使用字段名稱
$this->upload->do_upload('upload');
代替
$this->upload->do_upload();
HTML中的字段可能在哪里
<input type="file" name="upload"/>
根據Codeignitor文檔:
If you would like to set your own field name simply pass its
value to the do_upload function
另外,請確保您的上傳路徑有效且可寫
在這里查看更多信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.