8

我正在尝试上传一个 css 文件用户 codigniter 的上传类。这是控制器:

public function uploadcssfile() 
{
   $config['upload_path'] = './stylesheets/stores/'.$memberid.'/'; 
   $config['file_name'] = 'main.css';    
   $config['allowed_types'] = 'css';   
   $config['overwrite'] = true;   
   $this->load->library('upload', $config);
   if (! $this->upload->do_upload('filefieldname'))
   {
     die($this->upload->display_errors());
   } 
}

我只想上传一个css类型的文件,但codeigniter总是给出这个错误:

The filetype you are attempting to upload is not allowed.
4

1 回答 1

3

我知道,这真的很奇怪,但它对我有用:

在 application/config/mimes.php,第 77 行

'css' => 'text/css',

改成:

'css' => array('text/css','text/x-c'),

要查看,如果您的开发环境有自己的幽默感并且可以将新的 mime 类型添加到任何文本文件(我的情况),请像​​这样检查您的 mime:

if ( ! $this->upload->do_upload(-your-form-input-name-) ){
                    print_r($_FILES['-your-form-input-name-']['type']);
                    exit($this->upload->display_errors(). 'File Type: ' . $this->upload->file_type);
                }

如果上传失败,它将显示您的服务器实际处理的 MIME 类型。

PS。既然您的问题有了答案,请到这里帮助我:)

于 2012-09-14T11:04:32.243 回答