【问题标题】:I can't seem to upload css file types in codeigniter我似乎无法在 codeigniter 中上传 css 文件类型
【发布时间】:2012-09-05 00:06:31
【问题描述】:

我正在尝试上传 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.

【问题讨论】:

  • 我只是猜测,试试$config['allowed_types'] = 'css|text/css';
  • 抱歉有一个类型,test/css 显然应该是text/css ;)
  • 只是一个健全的检查;不只是您上传的文件 css,它还有.css 扩展名,对吧?
  • $this->upload->do_upload('filefieldname') 我不认为它需要任何参数,所以只是$this->upload->do_upload(); 你初始化了辅助方法吗?例如$this->load->helper(array('form', 'url'));
  • 您使用的是最新版本的 ci 2.1.2 吗?对 MIME 类型进行了一些重大修复

标签: php css codeigniter file-upload mime-types


【解决方案1】:

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

在 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 类型。

附言。现在你的问题有了答案,go here and help me :)

【讨论】:

    猜你喜欢
    • 2013-05-17
    • 2018-06-28
    • 2013-10-13
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-02
    相关资源
    最近更新 更多