尽管配置选项正确,CI也不会上传文件

时间:2019-08-14 20:13:49

标签: php file codeigniter

我正在创建一个页面,该页面将要求用户提交文件,并且还将文件名和其他一些数据保存在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"]将文件名保存在数据库中,我是否认为还有另一种方法?

1 个答案:

答案 0 :(得分:1)

您应该查看data()的{​​{1}}方法的the documentation来获取有关上载文件的信息-包括名称,例如

upload

但是,如果上传失败,这将无济于事。 CI代码是否仍然如此?如果是这样,$fileName = $this->upload->data('file_name'); 包含什么?