2013-08-14 6 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ファイルをアップロードしようとすると、「アップロードしようとしているファイルタイプが許可されていません」というメッセージが表示されます。

サーバー上に他のファイルをアップロードすることができます。コードは私がローカルに持っているものと全く同じです。私はまた、周りGoogleで検索し、何人かの人々がへの.docxのMIMEを変更した:

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

が、それは問題を解決しているようには見えません。何がうまくいかず、この問題を解決できるように問題を解決するにはどうすればよいですか?

答えて

12

application/zipapplication/config/mimes.phpdocxに追加してください。わたしにはできる。 それが役に立たない場合。オープンsystem/libraries/Upload.php(ライン205)と、この操作を行います。あなたはあなたのファイルの種類が表示されます

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

を.docxのとコンフィグでパントマイムリストをDOCXするためにそれを追加する必要があります。

+0

これは私が質問に答えるのを助けました。何らかの理由でそれを "application/x-zip"と見ていました。私はこれをdocxのMIMEタイプに追加していました。 – Sheldon

+0

数週間前、私は同様の問題がありました。喜んで、私の欲望があなたのために役立つもの。 –

+0

解決してくれてありがとう、私の場合はiode/x-emptyを表示していました。 – Anupal

関連する問題