2013-08-14 2 views
5

Codeigniter에서 업로드 도우미를 사용하여 .docx를 업로드하려고합니다.Codeigniter를 사용하여 .docx를 업로드하려면 어떻게해야합니까? (PHP)

public function upload($id,$type){ 
     $folder = $type; 
     $config['upload_path'] = RESOURCE_PATH . $folder; 
     $config['allowed_types'] = 'pdf|doc|docx'; 
     $config['max_size'] = '100000'; 
     $this->CI->load->library('upload',$config); 
     //$this->load->library('upload', $config); 
     if (!$this->CI->upload->do_upload('userfile')){ 
      echo $this->CI->upload->display_errors(); 
     } 
.... 

내 로컬 호스트에서 업로드 기능이 제대로 작동합니다. 그러나 서버에서 .docx 파일을 업로드하려고하면 "업로드를 시도하는 파일 형식이 허용되지 않습니다."라는 메시지가 나타납니다.

서버에 다른 파일을 업로드 할 수 있으며 코드는 내가 가지고있는 파일의 사본입니다. 나도 주위에 봤 거든 어떤 사람들이 .docx에 대한 MIME을 변경 찾았 :

'docx' => array('application/msword','application/vnd.openxmlformats-officedocument.wordprocessingml.document','application/octet-stream') 

그러나 그 문제가 해결되지 않은 것 같습니다. 무엇이 잘못 될 수 있으며 문제를 해결하여이 문제를 해결할 수 있습니까?

답변

12

이 마임 유형을 추가하십시오. application/zip ~ application/config/mimes.phpdocx입니다. 그것은 나를 위해 작동합니다. 도움이되지 않는 경우. 열기 system/libraries/Upload.php (라인 205)과이 작업을 수행 : 당신이 .DOCX 및 구성의 마임 목록을 DOCX에 추가해야의

var_dump($this->file_type); 
exit(); 

당신은 파일 형식을 볼 수 있습니다.

+0

이 질문에 대답하는 데 도움이되었습니다. 웬일인지 그것을 "application/x-zip"으로보고 있었다. 내가 docx에 대한 MIME 형식에 추가하고 그것은 효과. – Sheldon

+0

몇 주 전 비슷한 문제가있었습니다. 다행 이네, 내 욕망이 너에게 도움이되는거야. 솔루션에 대한 –

+0

덕분에, 내 경우를 위해 내가 마임에 추가하고 일을하는 아이 노드/X-빈 표시했다. – Anupal

관련 문제