尝试使用Codeignitor框架通过表单上传mp3。我允许的类型是mp3 | wav。 Wav文件上传很好。 Mp3s不上传。有些人遇到这个问题,为memes.php添加了更多的meme类型。我试过这个无济于事。
这是我的控制器代码(同样适用于wavs)
$this->load->model('songshare/Songmodel');
$this->Songmodel->songupload($data);
//upload data
$config['upload_path'] = realpath(APPPATH.'../uploads/');
$config['max_size'] = '0';
$config['allowed_types'] = 'mp3|wav';
$this->load->library('upload', $config);
if (!$this->upload->do_upload('userfile')) {
$data = array('msg' => $this->upload->display_errors());
} else { //else, set the success message
$data = array('upload_data' => $this->upload->data());
$field = 'userfile';
var_dump($_FILES[$field]['type']);
}
如果我上传一个mp3并在IF中使用vardump,它会返回 - 字符串'' (长度= 0)
如果我上传了一个wav并在ELSE中拥有vardump,它会返回 - string' audio / x-wav' (长度= 11)
坦率地说,我很难过。知道这里发生了什么吗?
谢谢!
答案 0 :(得分:3)
我建议在mime文件中添加更多内容类型,然后选中或check this,
‘mp3‘=> array(‘audio/mpeg’,‘audio/mpeg3’,‘audio/mpg’,‘audio/x-mpeg’,‘audio/mp3’,‘application/force-download’,‘application/octet-stream’),
答案 1 :(得分:0)
问题是我没有将文件大小增加到足够大。在php.ini中更改了最大文件大小允许。