CodeIgniter 2-无法上传.docx文件

时间:2018-09-25 12:13:30

标签: php codeigniter upload mime-types docx

这已经出现过了,我已经关注了this answer,但并不高兴。

我正在尝试将.docx文件上传到我的CI应用程序,但这给了我

  

不允许您尝试上传的文件类型。

现在,当我通过将system / libraries / upload.php的199行更改为vard来接收文件的模仿类型时

$this->_file_mime_type($_FILES[$field]); die(var_dump($this->file_type));

我明白了

  

application / vnd.openxmlformats-officedocument.wordprocessingml.document;   charset = binary

...并且在我的application / config / mimes.php文件中列为docx可接受的mime。

是这种情况,还有什么不对吗?

2 个答案:

答案 0 :(得分:1)

事实证明,在CI流程的某个地方,哑剧从中变形了

  

application / vnd.openxmlformats-officedocument.wordprocessingml.document

  

application / msword

我不知道在哪一点或为什么发生这种情况。当我在CI控制器方法中运行以下命令时,就会得到前者。

$finfo = finfo_open(FILEINFO_MIME);
$mime = finfo_file($finfo, 'path/to/file.docx');
var_dump($mime);

所以我不知道它在此过程中如何变成后者。

不用说,将'application / msword'添加到上传选项的allowed_types区域(传递给$this->upload->initialize($options))可以解决问题。

答案 1 :(得分:0)

最近我遇到了同样的问题,整天都无法解决,但是没有成功。 我建议您不要浪费时间,只允许所有文件,然后执行php函数来检查文件是否为.docx