2015-03-31 149 views
0

我必須上傳一個帶有codeigniter上傳庫的mp3文件類型。
我使用下面的代碼。mp3文件類型在codeigniter中上傳

但它不起作用。

類控制器代碼:

<?php 
class Upload extends CI_Controller { 
    public function __construct() 
    { 
      parent::__construct(); 
      $this->load->helper(array('form', 'url')); 
    } 

    public function index() 
    { 
      $this->load->view('upload_form', array('error' => ' ')); 
    } 

    public function do_upload() 
    { 
      $config['upload_path']   = './uploads/'; 
      $config['allowed_types']  = 'gif|jpg|png|jpeg|mp3'; 
      $config['max_size']    = 0; 
      $this->load->library('upload', $config); 

      if (! $this->upload->do_upload()) 
      { 
        $error = array('error' => $this->upload->display_errors()); 

        $this->load->view('upload_form', $error); 
      } 
      else 
      { 
        $data = array('upload_data' => $this->upload->data()); 

        $this->load->view('upload_success', $data); 
      } 
    } 
} 
?> 

當文件類型是JPG或者類似的,此代碼正確地工作和jpg文件被上載。
但是,當我嘗試上傳一個mp3文件時,該文件不會上傳。
並沒有出現任何錯誤。

我該怎麼做?

+2

檢查您的php.ini,並確保您的最大上傳和發佈尺寸大於您要上傳的mp3。你的代碼看起來很好,我高度懷疑這個問題在你的php.ini – mituw16 2015-03-31 13:29:31

+0

是正確的。謝謝... – 2015-03-31 15:02:44

回答

0

在您的文件mimes.php(application/config/mimes.php)中添加'application/octet-stream',在您想要上傳的每個MIME數組中,例如;

OLD: 'mp3' => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3') 
MEW: 'mp3' => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3', 'application/octet-stream')