$config['upload_path'] = SITE_UPLOADS;
$config['allowed_types'] = 'xls|xlsx';
$config['max_size'] = 100;

$this->load->library('upload', $config);

if ($this->upload->do_upload('file'))

最近用CodeIgniter做的一个项目,上传xml文件的时候一直提示文件类型错误,后来打印出上传的xml文件类型为application/octet-stream,查看对比了

'xls' => array('application/vnd.ms-excel', 'application/msexcel', 'application/x-msexcel', 'application/x-ms-excel', 'application/x-excel', 'application/x-dos_ms_excel', 'application/xls', 'application/x-xls', 'application/excel', 'application/download', 'application/vnd.ms-office', 'application/msword'),'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/vnd.ms-excel', 'application/msword', 'application/x-zip'),
'word' => array('application/msword', 'application/octet-stream'),

文件类型和xml不匹配!


原因分析:是因为php配置文件没有开启extension=php_fileinfo.dll造成的。

解决方法:打开php目录下的php.ini文件,删除extension=php_fileinfo.dll前面的分号(;),然后重启apache服务即可