如果我上传csv
文件,localhost
上没有任何问题,一切正常,但当我在实时服务器上传我的应用并上传csv
文件时出现此错误抛出:The filetype you are attempting to upload is not allowed.
我很困惑为什么会这样。请帮我解决这个问题。
对于我的localhost
环境,我使用的是XAMPP和CodeIgniter。
我只想允许csv
个文件上传。
答案 0 :(得分:4)
检查两件事:
第一: 在您的上传控制器中:确保设置正确的允许类型
$config['allowed_types'] = 'csv';
$this->load->library('upload', $config);
第二:
更新config / mimes.php中的数组$mimes
:
'csv' => array('application/vnd.ms-excel',
'text/anytext',
'text/plain',
'text/x-comma-separated-values',
'text/comma-separated-values',
'application/octet-stream',
'application/vnd.ms-excel',
'application/x-csv',
'text/x-csv',
'text/csv',
'application/csv',
'application/excel',
'application/vnd.msexcel')
<强>更新强>
您可以在上传控制器中使用print_r($_FILES)
来检查缺少的mime类型。这将输出如下内容:
[userfile] => Array
(
[name] => teste1.csv
[type] => application/vnd.ms-excel
[tmp_name] => C:\Program Files (x86)\EasyPHP-DevServer-13.1VC11\binaries\tmp\php8BFD.tmp
[error] => 0
[size] => 7880
)
答案 1 :(得分:1)
将‘text/plain’
添加到config / mimes.php中的CSV数组到$ mimes数组,即
'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain'),