【问题标题】:File upload trouble using Codeigniter使用 Codeigniter 的文件上传问题
【发布时间】:2013-01-08 05:33:51
【问题描述】:

我可以使用本地主机上的 Codeigniter 完美地将文件上传到上传文件夹。但是,当我尝试在服务器上上传时出现此错误。我尝试过不同类型的文件。 txt、.doc .xls .jpg 等,在 localhost 上都可以。我查看了 MIME 文件和图像/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);
    }

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    如果您使用的是 2.1.0 版本,则上传库中存在错误。参考下面的链接,这里解释的很清楚。

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 不鼓励仅使用代码回答,因为它们没有为未来的读者提供太多信息,请对您所写的内容提供一些解释
      猜你喜欢
      • 2015-11-23
      • 1970-01-01
      • 2018-01-14
      • 2012-01-09
      • 1970-01-01
      • 1970-01-01
      • 2021-08-27
      相关资源
      最近更新 更多