xls文件未在codeigniter中上传?
我要上传CSV文件和XLS文件,我的代码已经给下面
`xls文件未在codeigniter中上传?
`$configUpload['upload_path'] = './user_status/';`
$configUpload['allowed_types'] = 'XLS|text/comma-separated-values|application/csv|application/excel|application/vnd.ms-excel|application/vnd.msexcel|text/anytext|text/plain|text/csv|csv|application/vnd.ms-excel';
$configUpload['max_size'] = '5000';
$this->load->library('upload', $configUpload);
$this->upload->do_upload('input field name')`;
我的CSV文件上传得很好,但是当我选择XLS文件,然后笨显示错误“的文件类型,你正试图不允许上传“。
结果的print_r($ _ FILES)是
Array ([user_status_csv] => Array ([name] => VTRACK.XLS [type] => application/vnd.ms-excel [tmp_name] => C:\xampp\tmp\phpB2C4.tmp [error] => 0 [size] => 2627412))
您也可以尝试XLSX
$configUpload['allowed_types'] = '**XLSX|**XLS|text/comma-separated-values|application/csv|application/excel|application/vnd.ms-excel|application/vnd.msexcel|text/anytext|text/plain|text/csv|csv|application/vnd.ms-excel';
你也可以只给的文件扩展名,因为这
$configUpload['allowed_types'] = 'xls|xlsx|csv';
这两种情况都显示同样的问题:( – shihabudheen 2012-08-15 07:52:56
@shihabudheen请尝试检查您的MIME类型。请参阅http://itlivewire.com/devblog/2010/04/13/codeigniter-upload-在-文件类型 - 你 - 是 - 试图对上载的,不被允许/ – Gurria 2012-08-15 09:11:58
你可以尝试使用类似主题的溶剂。答案建议浏览器将xls(x)作为应用程序/ zip发送。
请参阅本主题:Upload xls or xlsx files with codeigniter, mime-type error
Sollution:
我已经添加/替换下面一行到MIME类型文件(应用程序/配置/ mimes.php):
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','application/zip'),
我有同样的问题。我解决了通过修改MIME为XLS
'xls' => array('application/excel', 'application/vnd.ms-excel', 'application/msexcel'),
到
array('application/excel', 'application/vnd.ms-excel', 'application/octet-stream'),
你必须设置在mimes.php配置文件的MIME类型。 您可以在上传文件CALSS使用数据()方法
请检查下面的决定文件的MIME类型:
http://isaber.info/blog/2013/01/23/codeigniter-upload-files-not-work/
的XLS或XLSX,CSV问题是与MIME类型。
解决的办法是:
if ($this->upload->do_upload('filename')){
$img = $this->upload->data();
$ext = $img['file_ext'];
$post['xlfile'] = time().$ext;
} else {
var_dump($this->upload->data());
exit();
redirect('hr/hr/dashboard/');
}
如果Excel文件上传失败,那么在其他条件写
的var_dump($这个 - > upload->数据()); 因此,MIME类型将被识别。通过索引名称file_type复制输出数组。
'FILE_TYPE'=>字符串 '应用程序/ vnd.ms办公室'(长度= 25)
然后打开在应用/配置/文件夹中的mimes.php。
搜索xls,xlsx并为该数组添加以下mime类型。
它覆盖了所有的mime类型。
'xls' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/x-zip', 'application/vnd.ms-excel', 'application/msexcel','application/excel','application/vnd.ms-office'),
这会像魅力一样工作。
您是否在allowed_types值中使用'xls'进行检查? ? – kushalbhaktajoshi 2012-08-15 07:43:19
是的,但同样的错误显示。 – shihabudheen 2012-08-15 07:45:41
是什么版本的CI? – TigerTiger 2012-08-15 07:56:01