簡體   English   中英

CodeIgniter:Excel文件上傳錯誤

[英]CodeIgniter: Excel file upload Error

我正在嘗試在CodeIgniter中上傳excel文件,如下所示,但是它說文件無效。 CodeIgniter或我的文件類型規范是否存在隱藏問題?

$config['allowed_types'] = 'xls|xlsx';

我在mime.php中使用它:

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

不要忘記“ application / vnd.ms-office”。

將此添加到您的mimes.php還檢查您的excel擴展名

或者你也可以使用

$config['allowed_types'] = '*';

'xlsx'  =>  array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip')

我找到了這個解決方案

'xlsx'=>數組('application / vnd.openxmlformats-officedocument.spreadsheetml.sheet','application / zip','application / x-zip','application / vnd.ms-excel','application / msword' ),

'xls'=> array('application / excel','application / vnd.ms-excel','application / octet-stream'),

joni jones的其他解決方案在Codeigniter中上傳-不允許您嘗試上傳的文件類型

如果您不想更改系統文件。 嘗試一下:

打開system/libraries/Upload.php (方法do_upload()第205行),然后執行以下操作:

var_dump($this->file_type);
exit();

嘗試上傳一些文件。 將您在var_dump()看到的文件類型添加到application/config/mimes.php 小例子:.docx有問題。 嘗試添加:

'docx' => array('application/zip', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document')

application/config/mimes.php

'xls' => array('application/excel', 'application/vnd.ms-excel', 'application/octet-stream'),

'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/x-zip', 'application/vnd.ms-excel', 'application/msword'),
'xls' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/x-zip', 'application/vnd.ms-excel', 'applica
    tion/msword'),

用以前的xls和xlsx的mime類型替換,上面的代碼可以正常工作

xls兩個添加沒有問題

'xls' => array('application/excel', 'application/vnd.ms-excel', 'application/octet-stream'), working in to the my local but not working this live sit(Production site)

'xls' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/x-zip', 'application/vnd.ms-excel', 'applica
        tion/msword'),

它正在現場制作現場

我要放置兩個xls,兩個都可以工作

我在CodeIgniter文件上傳時遇到了同樣的問題,我的CodeIgniter版本當前是2.2.0。您可以在下面的答案中找到答案

祝好運!!!

config/mimes.php

加上這個

'xlsx'  =>  array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'),
'xls'   =>  array('application/excel', 'application/vnd.ms-excel', 'application/msexcel'),
'ods'   =>  array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip')

並在您的配置中

$config['allowed_types'] = 'xlsx|xls|ods';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM