我正在创建一个页面,该页面将要求用户提交文件,并且还将文件名和其他一些数据保存在db中。
我尝试使用$_FILES
超全局变量来手动配置允许的文件属性,由于某些原因该文件属性未上传,然后我决定使用CI的文件上传类,这种方法更加简单。我遇到了同样的问题,但使用的代码更简单:
if (isset($_POST['submit'])) {
$data = $this->input->post('input');
$this->security->xss_clean($data);
$config['upload_path'] = './photos/';
$config['allowed_types'] = 'jpg|png';
$config['max_size'] = '1000000';
$this->load->library('upload', $config);
if (!$this->upload->do_upload('file')) {
$error = array('error' => $this->upload->display_errors());
}
else {
//Form validation and insert of filename as a string
}
}
我希望它返回true并将新记录插入数据库以及保存文件,但是这些都不会发生。顺便说一下,我使用$_FILES["file"]["name"]
将文件名保存在数据库中,我是否认为还有另一种方法?
答案 0 :(得分:1)
您应该查看data()
的{{1}}方法的the documentation来获取有关上载文件的信息-包括名称,例如
upload
但是,如果上传失败,这将无济于事。 CI代码是否仍然如此?如果是这样,$fileName = $this->upload->data('file_name');
包含什么?