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