Codeigniter-一种形式的两个上载字段
我正试图在Codeigniter中上传一个图像和一个mp3,来自一个有两个文件输入字段的表单。图像字段称为userfile,mp3字段称为trackfile 在我的模型中,我有以下代码(已修改):Codeigniter-一种形式的两个上载字段,codeigniter,upload,Codeigniter,Upload,我正试图在Codeigniter中上传一个图像和一个mp3,来自一个有两个文件输入字段的表单。图像字段称为userfile,mp3字段称为trackfile 在我的模型中,我有以下代码(已修改): $image\u resource=$this->library\u model->upload\u image($\u文件); $data=数组( 'name'=>this->input->post('name'), “imageresource”=>$image\u资源 );
$image\u resource=$this->library\u model->upload\u image($\u文件);
$data=数组(
'name'=>this->input->post('name'),
“imageresource”=>$image\u资源
);
$this->db->insert('table_name',$data);
$insert_id=$this->db->insert_id();
如果($\u文件&&$\u文件['trackfile']['name']!==“”){
$config=array(
“允许的\u类型”=>“mp3”,
“上传路径”=>“./assets/samples/”
);
$this->load->library('upload',$config);
//echo“即将上传”;
如果($this->upload->do_upload('trackfile')){
$file_data=$this->upload->data();
//echo“上传:”;打印($file_数据);echo“”;die();
$config = array(
'allowed_types' => 'audo/mpeg|audio/x-wav|audio/x-aiff|application/ogg',
'upload_path' => './assets/samples/'
);
$track_data['trackfile']=$file_data['file_name'];
$this->db->where('id',$insert\u id);
返回$this->db->update('table\u name',$track\u data);
}否则{
echo“失败:”;
echo$this->upload->display_errors();
echo“文件数据:”;打印($_文件['trackfile']);echo“”;
}
}
我的问题是,这会产生错误“您试图上传的文件类型是不允许的。”我已经检查了mp3类型,它是audio/mpeg,在mimes.php文件中
只有在我上传图像时才会发生这种情况。如果我将图像字段留空,则mp3上传效果良好。非常感谢您的帮助。编辑
根据CI文档,配置的allowed_types
部分是以管道分隔的mime类型列表,而不是文件扩展名。例如,mp3
具有mime类型“audio/mpeg”。因此,您的允许的\u类型
配置应该如下所示:
如果不起作用,请尝试初始化所述库。编辑
根据CI文档,配置的allowed_types
部分是以管道分隔的mime类型列表,而不是文件扩展名。例如,mp3
具有mime类型“audio/mpeg”。因此,您的允许的\u类型
配置应该如下所示:
如果这不起作用,请尝试初始化所提到的库。谢谢您的回复——我的代码可能不够清晰,但这不是问题,因为当它进入mp3上传时,它已经上传了图像(这里:$this->library\u model->upload\u image($\u文件))。再次感谢您的尝试。但是,mime类型的列表是从mimes.php中提取的:这里mp3与audio/mpeg匹配(这是我试图上传的类型)。无论如何,我尝试了你的方法,以防万一,但仍然没有成功。@Gregthoma是最后一次尝试
初始化如图所示的库-Borislav我可以嫁给你!它成功了,谢谢你的坚持。你能修改你的答案吗?这样我就可以接受了?还是这是不允许的?@GregThomas谢谢。就这么做了。很高兴我能帮上忙。谢谢你的回复——我的代码可能不够清晰,但这不是问题所在,因为当它上传到mp3时,它已经上传了图像(这里:$this->library\u model->upload\u image($\u FILES))。再次感谢你的尝试。但是,mime类型的列表是从mimes.php中提取的:这里mp3与audio/mpeg匹配(这是我试图上传的类型)。无论如何,我尝试了你的方法,以防万一,但仍然没有成功。@Gregthoma是最后一次尝试初始化如图所示的库-Borislav我可以嫁给你!它成功了,谢谢你的坚持。你能修改你的答案吗?这样我就可以接受了?还是这是不允许的?@GregThomas谢谢。就这么做了。很高兴我能帮忙。
$config = array(
'allowed_types' => 'audo/mpeg|audio/x-wav|audio/x-aiff|application/ogg',
'upload_path' => './assets/samples/'
);