使用Codeigniter文件上传问题

时间:2013-01-24 12:46:58

标签: php codeigniter

我可以在localhost上使用Codeigniter完美地上传文件到上传文件夹。但是,当我尝试在服务器上传时,我收到此错误。我尝试过不同类型的文件。 txt,.doc .xls .jpg等,在localhost上都很好。我查看了MIME文件,image / jpeg和jpeg以及我需要的所有其他文件类型一起使用('doc'=>'application / msword'等等....)。 我也检查了文件夹权限,它们没问题,但是由于错误,它甚至没有达到那么远。

有没有人有任何想法,为什么它不允许我上传我的文件。

    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 个答案:

答案 0 :(得分:0)

如果您使用的是版本2.1.0,则上传库中存在错误。请参阅以下链接,此处将对此进行详细说明。

Uploading in Codeigniter - The filetype you are attempting to upload is not allowed

答案 1 :(得分:0)

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

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');

    }