【问题标题】:Unable upload file xls and csv in CodeIgniter无法在 CodeIgniter 中上传文件 xls 和 csv
【发布时间】:2017-12-21 12:59:30
【问题描述】:

每次我以 xls 和 csv 格式上传文件时,都会出现错误“upload_invalid_filetype”。它适用于带有 xlsx、docx 和 pdf 的文件。我知道它与 Mimes.php 有关。我尝试了我在互联网上找到的所有东西来让它工作,但仍然没有运气。在这里,我放了 mime 内容,所以也许你能找到我错过的内容。

'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','application/zip'),
'xls'   =>  array('application/vnd.openxmlformats-officedocument.wordprocessingml.document','application/excel', 'application/vnd.ms-excel', 'application/msexcel','application/zip'),

【问题讨论】:

    标签: codeigniter file-upload codeigniter-2 mime-types


    【解决方案1】:

    如果您的xlscsv 是问题所在,请在mime.php 中尝试此操作

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

    上传时也试试这个

    $randomString = substr(str_shuffle(str_repeat($x = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', ceil(10 / strlen($x)))), 1, 10);
            $config['upload_path'] = $YOUR_PATH;
            $config['file_name'] = $randomString;
            $config['allowed_types'] = 'csv|CSV|xls|XLS';
            $config['overwrite'] = 0;
            $config['max_size'] = 2048;
    
            $this->load->library('upload', $config);
            $this->upload->initialize($config); // Make sure it has been initialized
    

    也尝试在构造中加载库,或者在上传部分之后加载

    $this->load->library('excel');
    

    这只会上传xls和csv文件,上传后你必须阅读文件,你必须遵循excel库的文档

    【讨论】:

      猜你喜欢
      • 2012-08-11
      • 1970-01-01
      • 2015-11-21
      • 2020-02-05
      • 2017-01-26
      • 1970-01-01
      • 1970-01-01
      • 2016-01-30
      • 2012-10-28
      相关资源
      最近更新 更多