2012-05-02 48 views
0

我收到以下錯誤,當我嘗試上載:「您嘗試上傳的文件類型爲不允許」笨上傳不接受.doc文件

這裏是我的.doc的mime:

'DOC'=>數組( '應用程序/ msword', '應用程序/文檔', '申請/文本', '應用/ vnd.msword' 'application/word','application/winword','application/vnd.ms-word','application/x-msw6','application/x-msword'),試圖通過添加更多的啞劇來彌補它。我不知道問題是什麼......文件是.doc。請注意,上傳pdf的工作!我也在使用一個mac。

這裏是我的代碼:

$sntError = $this->uploadFile($id,'notes','doc|pdf|docx'); 

private function uploadFile ($id,$input,$extensions) { 
$this->load->library('upload'); 
$config['allowed_types'] = $extensions; 
$config['upload_path'] = './upload/sermon/'. $input; 
$config['file_name'] = $input .'-'. $id; 
$config['max_size'] = '10000'; 
$config['overwrite'] = true; 
$this->upload->initialize($config); 
$uploaded = $this->upload->do_upload($input); 

$errors = $this->upload->display_errors('<div class="error">', '</div>'); 

if (!$errors && $uploaded) { 
    $fileData = $this->upload->data(); 
    $this->saveSermonAttachments($id,$input,$fileData['file_name']); 
} else { 
    return $errors; 
} 
} 
+2

如果我沒有記錯,在'數據()'將返回文件的內容,即使載有錯誤而終止。你能檢查數據的內容並查看[file_type]嗎? –

+0

謝謝老兄。這幫助我找到了問題。顯然文件類型是文本/純文本。所以我只是將它添加到.doc的已批准MIME中。謝謝。 – Samir

回答

3

我做的print_r($ FILEDATA);找出.doc文件類型是什麼。這是「text/plain」,所以我將它添加到我的mimes.php中,它解決了我的問題。

0

更改擴展的順序。

0

添加這配置----> mimes.php

  'doc' => 'application/msword', 
      'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip'), 
      'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'), 
      'word' => array('application/msword', 'application/octet-stream'),