当前位置: 首页 > 知识库问答 >
问题:

使用Codeigniter文件上传麻烦

房育
2023-03-14

我可以使用本地主机上的Codeigniter将文件完美地上传到uploads文件夹。然而,当我试图上传到服务器上时,我得到了这个错误。我尝试了不同类型的文件。txt。博士。xls。jpg等,这些都可以在本地主机上使用。我已经查看了MIME文件和图像/jpeg以及我需要的所有其他文件类型('doc'=

有人知道为什么不允许我上传文件吗。

    string(57) "The filetype you are attempting to upload is not allowed." array(2) 
    { ["testfile"]=> array(5) 
    { ["name"]=> string(7) "123.jpg" ["type"]=> string(10) "image/jpeg" 
    ["tmp_name"]=> string(14) "/tmp/phpVYtNNs" ["error"]=> int(0) ["size"]=> int(20921) }
    ["quotefile"]=> array(5) 
    { ["name"]=> string(7) "123.jpg" ["type"]=> string(10) "image/jpeg" 
    ["tmp_name"]=> string(14) "/tmp/phpIsvQ7x" ["error"]=> int(0) ["size"]=> int(20921) } } 

控制器:

    $config['upload_path'] = './uploads/';
    $config['allowed_types'] = 'gif|jpg|png|txt|pdf|xls|csv|doc';
    $config['max_size'] = '1000000';
    $config['max_width']  = '100024';
    $config['max_height']  = '76008';
    $this->load->library('upload', $config);

型号:

    if ( ! $this->upload->do_upload('testfile'))
    {
        var_dump($this->upload->display_errors('', ''));
                    var_dump($_FILES);
        //$error = array('error' => $this->upload->display_errors());
        //echo '<pre>'; print_r($error); echo '</pre>';
        //$this->load->view('upload_form', $error);     
    }
    else
    {
        $data = array('upload_data' => $this->upload->data('testfile'));
        $this->load->view('upload_success', $data);         
    }
    $upload_data = $this->upload->data('testfile');


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

        $error = array('error' => $this->upload->display_errors());
        echo '<pre>'; print_r($error); echo '</pre>';
        //$this->load->view('upload_form', $error);
    }
    else
    {
        $data = array('upload_data' => $this->upload->data('quotefile'));
        $this->load->view('upload_success', $data);
    }

共有2个答案

孟文栋
2023-03-14

你可以在那里使用我的代码

public function do_tambah_rule()
    {

            $this->load->library('upload');
            $nmfile = "file_".time(); //nama file saya beri nama langsung dan diikuti fungsi time
            $config['upload_path'] = './uploads/'; //path folder
            $config['allowed_types'] = 'pdf|docx'; //type yang dapat diakses bisa anda sesuaikan
            $config['max_size'] = '9072'; //maksimum besar file 3M
            $config['file_name'] = $nmfile; //nama yang terupload nantinya

            $this->upload->initialize($config);

            if($_FILES['file_pembelajaran']['name'] != NULL)
            {
                if ($this->upload->do_upload('file_pembelajaran'))
                {
                    $gbr = $this->upload->data();
                    $data = array(
                      'nama_file' =>$gbr['file_name'],
                      'type_file' =>$gbr['file_type'],
                      'gejala_1' => $this->input->post('gejala_1'),
                        'gejala_2' => $this->input->post('gejala_2'),
                        'gejala_3' => $this->input->post('gejala_3'),
                        'gejala_4' => $this->input->post('gejala_4'),
                        'gejala_5' => $this->input->post('gejala_5'),
                        'id_jurusan'=>$this->session->userdata('id_jurusan'),
                        'id_artikel' => $this->input->post('artikel'),
                        'username' => $this->session->userdata('username'),
                        'hasil' => $this->input->post('hasil')
                    );

                    $this->guru_mod->insert_data('forward_changing',$data); //akses model untuk menyimpan ke database

                    $config2['source_image'] = $this->upload->upload_path.$this->upload->file_name;


                }
            } elseif ($_FILES['file_pembelajaran']['name'] == NULL) {

                $this->session->set_flashdata('pesan', 'File pembelajaran belum di sertakan');
            }

        redirect('guru/daftar_rule','refresh');

    }
苍嘉澍
2023-03-14

如果您使用的是2.1版。0,上载库中存在错误。请参阅下面的链接,这里有详细的说明。

在Codeigniter中上载-不允许尝试上载的文件类型

 类似资料:
  • 我上传文件有问题。我正在使用codeigniter框架和dropzone。js上传文件。 我认为: 控制器: 问题是上传的文件返回为空: 数组(1){["upload_data"]= 我试图转储fileToUpload输入的POST值,也是空的。是不是我忽略了什么?

  • 我已经寻找和努力了三天,让这个工作,但我就是做不到。我想做的是使用多文件输入表单,然后上传它们。我不能只使用固定数量的文件上传。我在StackOverflow上尝试了许多解决方案,但我找不到一个有效的。 这是我的上传控制器 我的上传表格是这样的。 我一直有这样的错误: 您没有选择要上载的文件。 下面是示例的数组: 数组 如果我选择2个文件,我有这样的连续5次。我也使用标准的上传库。

  • 正如上面的问题所描述的,我正在尝试将一个文件从okhttp3上传到服务器。 我总是收到‘你没有选择一个文件上传’在我的方法从codeIgniter部分。 这是我的代码 Android: 服务器代码: 我做错了什么?谢谢!

  • 问题内容: 我想使用单个元素上传多个文件。所以我尝试这个例子。 使用CodeIgniter2.0上传多个文件(数组) 这是我的表格 这是我的控制器 这是我的文件上传方法 但它给每一次。有什么问题 问题答案: 我根据@Denmark 更改上传方法。

  • 问题内容: 我需要2个文本字段和1个文件上传。当我只需要文本字段时,一切都正常,但是当我需要文件上传时,即使我选择了一个文件,验证错误仍然会提示需要文件。有人知道我在做什么错吗?提前谢谢了。 //视图 //控制器 问题答案: 我找到了一种完全符合我想要的解决方案。 我变了 至

  • 问题内容: 控制器: 视图: Javascript: 但是,我得到一个错误 我试图从ajax发布数据和文件,但是它不起作用。我的问题是如何解决该错误?为什么控制器无法读取用户文件的内容? 谢谢 问题答案: 尝试将您的输入内容放入表单并提供id =’your_form_id表单,然后以这种方式在javascript中发送数据: 然后替换这行 有了这个 也设置以下: