2015-01-20 52 views
-1

我正在使用Codeigniter上傳類,但我有一個允許的文件類型的問題。我只需要允許上傳PDF文件,但任何類型的文件都可以上傳。這是我的代碼;CodeIgniter上傳類允許的文件類型

model(muser.php);

function cv_ekle() 
{ 
    $config['upload_path'] = 'uploads/cv'; 
    $config['allowed_types'] = 'pdf'; 
    $config['max_size'] = '0'; 
    $config['max_width'] = '0'; 
    $config['max_height'] = '0'; 
    $this->load->library('upload', $config); 
    $this->upload->do_upload(); 
    $data = $this->upload->data(); 

    $this->load->library('upload', $config); 
    $upload_data = $this->upload->data(); //Returns array of containing all of the data related to the file you uploaded. 
    $file_name = $upload_data['file_name']; 
    $data = array 
     (
      'userid' => $this->session->userdata('id'), 
      'kullanici' => $this->session->userdata('isim'), 
      'kategori' => $this->input->post('kategori'), 
      'tarih' => time(), 
      'dosya' => $file_name 
     ); 
    if($this->db->insert('cv', $data)) 
    { 
     return true; 
    } 
    else 
    { 
     return false; 
    } 
} 

controller(cv.php);

function cv_ekle() 
{ 
    if($this->muser->cv_ekle()) 
    { 
     $this->session->set_flashdata('ok', 'CV başarıyla gönderildi!'); 
     redirect('cv'); 
    } 
    else 
    { 
     $this->session->set_flashdata('hata', 'Sadece PDF, Excel ya da Word formatında yükleme yapabilirsiniz!'); 
     redirect('cv'); 
    } 
} 

view(cv.php);

<form method="post" action="<?php echo site_url('cv/cv_ekle'); ?>" class="login" enctype="multipart/form-data"> 
        <div class="controls"> 
         <label for="email">Dosya: <span class="text-error">*</span></label> 
         <input type="file" id="pass" class="input-block-level" name="userfile" > 
        </div> 
        <div class="controls"> 
         <label for="email">Kategori: <span class="text-error">*</span></label> 
         <select class="input-block-level" name="kategori"> 
          <?php foreach($kategoriler as $kat) { ?> 
           <option value="<?php echo $kat['isim']; ?>"><?php echo $kat['isim']; ?></option> 
          <?php } ?> 
         </select> 
        </div> 
        <div class="controls"> 

         <button type="submit" class="btn btn-primary">CV Yükle</button> 
        </div> 
       </form> 

在此先感謝!

+0

從你的問題是不清楚你是否只允許pdf文件或一切。 – sotoz 2015-01-21 11:20:13

+0

我只想讓PDF文件。代碼看起來不錯,但它不工作,它允許一切。 – birlikbilisim 2015-01-22 09:53:49

+0

您正在代碼中加載庫兩次。嘗試刪除第二個。 – sotoz 2015-01-22 11:01:56

回答

0
function cv_ekle() 
{ 
    $config['upload_path'] = 'uploads/cv'; 
    $config['allowed_types'] = 'pdf'; 
    $config['max_size'] = '0'; 
    $config['max_width'] = '0'; 
    $config['max_height'] = '0'; 
    $this->load->library('upload', $config); 
    $this->upload->do_upload(); 
    $upload_data = $this->upload->data(); //Returns array of containing all of the data related to the file you uploaded. 
    $file_name = $upload_data['file_name']; 
    $data = array 
     (
      'userid' => $this->session->userdata('id'), 
      'kullanici' => $this->session->userdata('isim'), 
      'kategori' => $this->input->post('kategori'), 
      'tarih' => time(), 
      'dosya' => $file_name 
     ); 
    if($this->db->insert('cv', $data)) 
    { 
     return true; 
    } 
    else 
    { 
     return false; 
    } 
} 
+0

謝謝,但它仍然是一樣的。 – birlikbilisim 2015-01-23 19:45:17

相關問題