Codeigniter 文件上传许可仅适用于图像,不适用于其他人

我必须连续上传文件,首先是 gif|jpg|jpeg|png|svg 和第二个 psd|rar|zip|doc|word|txt|xlsx|pdf 第一个工作正常,我可以上传所有图像,但第二个,我无法上传任何这些类型,但是当我尝试在第二个片段上上传图像时,它可以工作。


if (isset($_FILES['content_images']['name'])) {

    $count_files = count($_FILES['content_images']['name']);


    for ($i = 0; $i < $count_files; $i++) {

        $_FILES['image']['name'] = $_FILES['content_images']['name'][$i];

        $_FILES['image']['type'] = $_FILES['content_images']['type'][$i];

        $_FILES['image']['tmp_name'] = $_FILES['content_images']['tmp_name'][$i];

        $_FILES['image']['error'] = $_FILES['content_images']['error'][$i];

        $_FILES['image']['size'] = $_FILES['content_images']['size'][$i];

        $config_images['upload_path'] = "./public/site/images/contents";

        $config_images['allowed_types'] = 'gif|jpg|jpeg|png|svg';

        $config_images['max_size'] = 5000;

        $config_images['max_width'] = 7680;

        $config_images['max_height'] = 4320;

        $this->load->library("upload", $config_images);


        if (!$this->upload->do_upload('image')) {

            echo $this->upload->display_errors();

            exit;

        } else {

            $data = $this->upload->data();

            $path_images[] = "public/site/images/contents/".$data['file_name'];

        }

    }

}


烙印99
浏览 178回答 1
1回答

阿波罗的战车

我找到了解决方案寻求帮助:您应该只在顶部加载库 1 次,然后您应该在“if 条件”中对其进行初始化。当您在第一个条件中加载上传库和配置数组时,当您传递到第二个条件时,上传库已经加载并使用第一个条件的配置数组。$this->load->library("upload");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(isset($_FILES['content_images']['name'])){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $count_files=count($_FILES['content_images']['name']);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for($i = 0;$i<$count_files;$i++){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $_FILES['image']['name'] = $_FILES['content_images']['name'][$i];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $_FILES['image']['type'] = $_FILES['content_images']['type'][$i];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $_FILES['image']['tmp_name'] = $_FILES['content_images']['tmp_name'][$i];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $_FILES['image']['error'] = $_FILES['content_images']['error'][$i];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $_FILES['image']['size'] = $_FILES['content_images']['size'][$i];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $config_images['upload_path'] = "./public/site/images/contents";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $config_images['allowed_types'] = 'gif|jpg|jpeg|png|svg';&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $config_images['max_size'] = 5000;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $config_images['max_width'] = 7680;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $config_images['max_height'] = 4320;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $this->upload->initialize($config_images);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(!$this->upload->do_upload('image')){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo $this->upload->display_errors();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exit;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $data=$this->upload->data();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $path_images[] = "public/site/images/contents/".$data['file_name'];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(isset($_FILES['content_files']['name'])){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $count_files=count($_FILES['content_files']['name']);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for($i = 0;$i<$count_files;$i++){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $_FILES['file']['name'] = $_FILES['content_files']['name'][$i];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $_FILES['file']['type'] = $_FILES['content_files']['type'][$i];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $_FILES['file']['tmp_name'] = $_FILES['content_files']['tmp_name'][$i];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $_FILES['file']['error'] = $_FILES['content_files']['error'][$i];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $_FILES['file']['size'] = $_FILES['content_files']['size'][$i];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $config_files['upload_path'] = "./public/site/files/contents";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $config_files['allowed_types'] = 'psd|rar|zip|doc|word|txt|xlsx|pdf';&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $config_files['max_size'] = 5000;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $config_files['max_width'] = 7680;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $config_files['max_height'] = 4320;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $this->upload->initialize($config_files);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(!$this->upload->do_upload('file')){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach($path_images as $p){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unlink($p);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo $this->upload->display_errors();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exit;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $data=$this->upload->data();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $path_files[] = "public/site/files/contents/".$data['file_name'];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
打开App,查看更多内容
随时随地看视频慕课网APP