关于Codeigniter上传文件类型的问题

我自己的上传文件类型配置

但是在我上传一个已.xls后缀的Excel时一直提示文件类型不正确,可是xls明明在allowed_types里面啊,经过一番查阅,终于发现问题所在~

在上传时我首先 print_r($_FILES ) 结果如下:

可以看到这个文件type是application/kset这种类型的 之所以报错就是因为这种类型的Excel不在一个文件内,哪个文件呢?

请打开application/config/mimes.php找到xls文件类型的数组

可以看到并没有这个东西 application/kset

现在把它加进去

最后:不同的浏览器对文件的解释也不同 最好在不同浏览器打印 $_FIELS 看结果 把对应的type添加进mimes.php的数组即可。application/octet-stream

也是我发现的其中一个不存在的类型,所以我加了进去,问题解决。

有疑问的同学,请给我留言。

转自:http://www.158code.com/article/59

3 条评论

昵称
  1. quericy

    CI的MIME类型判断貌似一直都有点问题,有些来自网络的office文件类型会被判定为cdf v2 document,除非打开编辑取消保护模式。。搞得我只能加"cdf v2 document, corrupt: can't expand summary_info"到mimes的数组里。感觉这种白名单的方式实在不好用

    1. mokeyjay

      我反倒觉得直接读后缀名.xxx更方便,也许CI这么做是考虑到某些安全问题?

      1. quericy

        是的。。