Codeigniter错误:不允许您尝试上传的文件类型

时间:2015-03-20 13:18:18

标签: php codeigniter

如果我上传csv文件,localhost上没有任何问题,一切正常,但当我在实时服务器上传我的应用并上传csv文件时出现此错误抛出:The filetype you are attempting to upload is not allowed.我很困惑为什么会这样。请帮我解决这个问题。

对于我的localhost环境,我使用的是XAMPP和CodeIgniter。

我只想允许csv个文件上传。

2 个答案:

答案 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'),