我的问题是为什么我的代码无法将.png文件存储在数据库和上传文件夹中,但除了.jpg,.gif以外的文件我成功插入数据库并上传文件夹时,我已将$config['allowed_types'] = 'png'
包括为好吧,另外,这是我var_dump出错的信息“你不想上传你试图上传的文件类型。” ,任何想法如何解决我的问题?
这是我的代码:
$upload_file_name = '';
$config['upload_path'] = '/var/www/html/uploads/';
$config['allowed_types'] = 'jpg|gif|png';
$config['max_size'] = 100000;
$config['overwrite'] = TRUE;
$this->load->library('upload', $config);
if(!$this->upload->do_upload('receipt_attachment'))
{
$error = array('error' => $this->upload->display_errors());
$errormessage = $this->upload->display_errors();
$this->session->set_flashdata('error', $errormessage);
redirect('home/add_product');
}else{
$upload_data = $this->upload->data();
$upload_file_name = $upload_data['file_name'];
}
感谢
答案 0 :(得分:2)
在config文件夹中找到mimes.php文件,并在png数组中添加mime类型'text / plain',如下所示。
'png' => array('image/png', 'image/x-png','text/plain'),
希望这有帮助。
答案 1 :(得分:1)
你看过这个关于无效mime类型的帖子了吗? http://codeigniter.com/forums/viewthread/204725/
基本上可能(取决于您的CI版本)您使用较旧的未修补版本,但无法解释某些png mime类型。
阅读并尝试这些解决方案,和/或更新到最新的CI代码。
答案 2 :(得分:0)
根据您发布的日期,我假设您运行CodeIgniter 2.1.0。
CI 2.1.0中包含PNG的上传类(上载系统库中的第1058行)存在文档问题,这在以前的版本中是不存在的,也不会在将来出现。
最佳方式: 更新到2.1.2或者至少使用2.1.2中的system / libraries / Upload.php文件(这对我来说很有用)。