繁体   English   中英

CodeIgniter再次上传课程

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM