Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CI不';尽管配置选项正确,但仍无法上载文件_Php_File_Codeigniter - Fatal编程技术网

Php CI不';尽管配置选项正确,但仍无法上载文件

Php CI不';尽管配置选项正确,但仍无法上载文件,php,file,codeigniter,Php,File,Codeigniter,我正在创建一个页面,它将要求用户提交一个文件,它还将文件名与其他一些数据一起保存在数据库中 我曾尝试使用$\u FILESsuperglobal手动配置允许的文件属性,但由于某些原因没有上载,然后我决定使用CI的file upload类,这更简单。我遇到了同样的问题,但代码更容易处理: if (isset($_POST['submit'])) { $data = $this->input->post('input'); $this->security->xs

我正在创建一个页面,它将要求用户提交一个文件,它还将文件名与其他一些数据一起保存在数据库中

我曾尝试使用
$\u FILES
superglobal手动配置允许的文件属性,但由于某些原因没有上载,然后我决定使用CI的file upload类,这更简单。我遇到了同样的问题,但代码更容易处理:

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,在数据库中插入一条新记录并保存文件,但这些都不会发生。通过使用
$\u FILES[“file”][“name”]
在数据库中保存文件名的方式,我假设还有另一种方法可以做到这一点?

您应该查看
上传的
data()
方法,以获取上传文件的信息,包括名称,例如

$fileName = $this->upload->data('file_name'); 

但是,如果上传失败,这是没有帮助的。CI代码仍然是这样吗?如果是,那么
$error
包含什么?

打印($error)显示
数组([错误]=>上载目标文件夹似乎不可写。)
是的,这将阻止上载。很可能是由于文件权限。将权限设置为777-任何人都可以读/写。权限是否在
$config
数组中?否。您必须使用计算机的文件浏览器查找目录并设置权限。根据文件夹“属性”下的操作系统,我使用Ubuntu-Linux