A-A+

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

2016年08月11日 CodeIgniter, PHP 暂无评论 阅读 822 views 次

$config ['allowed_types'] = 'xls|xlsx|xl';

在我上传一个已.xls后缀的Excel时一直提示文件类型不正确,可是xls明明在allowed_types里面

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

Array ( [userfile] => Array ( [name] => Template.xls[type] => application/kset [tmp_name] => C:\Windows\temp\phpACC.tmp [error] => 0 [size] => 7680 ) )

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

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

 

于是修改成如下:

'xls' => array('application/excel', 'application/vnd.ms-excel', 'application/msexcel','application/octet-stream','application/kset'),

 

有时候上传图片失败,发现图片类型是application/octet-stream,于是修改
'jpeg'  =>  array('image/jpeg', 'image/pjpeg','application/octet-stream'),
'jpg'   =>  array('image/jpeg', 'image/pjpeg','application/octet-stream'),
'jpe'   =>  array('image/jpeg', 'image/pjpeg','application/octet-stream'),
'png'   =>  array('image/png',  'image/x-png','application/octet-stream'),

 

 

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

标签:

给我留言

Copyright © 严佳冬 保留所有权利.   Theme  Ality 百度地图 苏ICP备15015381号-1

用户登录

分享到: