如果我上传了csv
文件,localhost
上没有问题,一切都很好,但当我在实时服务器上上传应用程序并上传csv
文件时,会出现以下错误:The filetype you are attempting to upload is not allowed.
我不知道为什么会发生这种情况。请帮我解决这个问题。
对于我的localhost
环境,我使用XAMPP和CodeIgniter。
我只想允许上传csv
文件。
检查两件事:
第一:在您的上传控制器中:确保设置正确的允许类型
$config['allowed_types'] = 'csv';
$this->load->library('upload', $config);
第二:更新config/mimes.hp:中的数组$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
)
将‘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'),