2016-07-27 168 views
0

我成功地將圖像上傳到文件夾及其到數據庫的名稱,但相同的代碼不會上傳文件夾中的文件,而是上傳數據庫中的名稱。以下是我的代碼將音頻文件上傳到我的文件夾音樂。代碼適用於圖像,但不適用於codeigniter中的其他文件

控制器功能

public function add_audio(){ 

     $config['upload_path'] = './musics/'; 
     $config['allowed_types'] = 'mp3'; 
     $config['max_size'] = '100000000000000'; 

     $this->load->library('upload',$config); 
     chmod('musics/', 0777); 
     $this->upload->do_upload('output'); 

     $data['audio'] = $_FILES['output']['name']; 
     $this->load->model('main'); 
     $query = $this->main->insert('audio',$data);    

     if($query = TRUE){ 

      $this->load->view('admin/success'); 
     } 
     else{ 

      redirect($_SERVER['HTTP_REFERER']); 
     } //end else 
    } //end function 
+0

如果($查詢= TRUE) 應該是==不是單個等號。您正在比較它,而不是將值分配給$ query。使用== –

+0

嘗試從'$ this-> upload-> do_upload('output');' –

+0

嘗試從'$ output-'中刪除''output''並刪除'output'...但它仍然沒有獲取文件夾....只有它的名字上傳到數據庫....我不知道什麼是錯誤的,這是令人沮喪的我...... @ LeeBalino –

回答

0

嘗試取出'output'$this->upload->do_upload('output');

,並嘗試用它來取代你的代碼的一部分:

if (! $this->upload->do_upload()) 
{ 
    $data['error'] = $this->upload->display_errors();  
    //line of codes that displays if there are errors 
} 
else 
{ 
    $data['audio'] = $_FILES['output']['name']; 

    $this->load->model('main'); 
    $query = $this->main->insert('audio',$data); 

    if($query == TRUE){ 
     $this->load->view('admin/success'); 
    } 
} 
+0

我用你的代碼替換我的代碼,但它顯示空白頁....沒有顯示@lee balino –

+0

嘗試'printr($ data ['error'])'。讓我們來看看它是什麼錯誤 –

+0

它說你沒有選擇要上傳的文件... @ Lee Balino –

0

在您指定

if($query = TRUE){ 
    $this->load->view('admin/success'); 
} 

因爲它是一個比較,而不是作爲轉讓本應糾正爲

if($query == TRUE){ 
    $this->load->view('admin/success'); 
} 
0

檢查上面的代碼它通過其他文件格式無論你是否得到或不:

print_r($_FILES);

,並且您使用=代替==在if條件。

試試這個:

if($query = TRUE){ 

      $this->load->view('admin/success'); 
    } 
相關問題