[英]CodeIgniter Upload Class again
嗨,我已经建立了一个网站大约3个月了,今天我让我的女朋友用虚假内容填充它以进行测试。 在那里,她突然高兴地测试和上传文件,当她突然完成约8篇文章时,上传者决定不对代码进行任何更改等,开始拒绝上传,表明不允许文件类型。
现在不用说我已经上传了一个多月的图片,这是第一次出现此问题。 令我更加困惑的是,我在其他部分中使用了具有相同mime参数的CI上传类,并且效果很好! 我已经检查了$ _FILES中的mime,这是image / jpg或image / png等,所有这些都可以被CI识别。 我也看到过CI 2.1.0中的错误,但是我在2.1.1上,我认为该错误是固定的(或不是固定的),因为之前存在错误的上载库中的代码略有不同。
无论哪种方式,我都认为这是mime错误,因为将允许的类型config param设置为*可以正常工作! 当然,这是不理想的,因为潜在的安全漏洞非常严重。 我现在正处于紧要关头,因为我还有其他工作要做。 我已经附加了处理此上载的代码部分,以防万一我做的事情非常愚蠢,但否则,如果其他人无处不在开发了此问题,我想知道任何解决方法/解决方案...这怎么可能只是举起丑陋的头就好了。 我经常为这些事情的神秘性而苦恼。
if(isset($_FILES['article_main_image']) && $_FILES['article_main_image']['size'] > 0){
$filename = $this->input->post('article_title') . '_' . time();
$config['upload_path'] = './resource/data/tmpstore/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['file_name'] = $filename;
$this->load->library('upload', $config);
if ($this->upload->do_upload('article_main_image'))
{
$uploadData = $this->upload->data();
$filename = $uploadData['file_name'];
//Other stuff here
} else {
$this->session->set_flashdata('validationErrors', $this->upload->display_errors());
$this->session->set_flashdata('postVars', $this->input->post());
redirect('/admin/contenteditor/editarticle?id=' . $this->input->post('articleId'));
}
}
尝试使用print_r($uploadData);
调试您的上传数据数组print_r($uploadData);
并查看file_type
,也许她尝试上传的图片可能没有正确的mime类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.