我成功地将图像上传到了文件夹中,并将其名称上传到了数据库中,但相同的代码没有上传文件夹中的文件,而是上传了数据库中的名称。以下是我将音频文件上传到音乐文件夹的代码。
控制器功能
public function add_audio(){
$config['upload_path'] = './musics/';
$config['allowed_types'] = 'mp3';
$config['max_size'] = '100000000000000';
$this->load->library('upload',$config);
chmod('musics/', 0777);
$this->upload->do_upload('output');
$data['audio'] = $_FILES['output']['name'];
$this->load->model('main');
$query = $this->main->insert('audio',$data);
if($query = TRUE){
$this->load->view('admin/success');
}
else{
redirect($_SERVER['HTTP_REFERER']);
} //end else
} //end function
尝试从$this->upload->do_upload('output');
中删除'output'
并尝试用以下代码替换您的代码部分:
if ( ! $this->upload->do_upload())
{
$data['error'] = $this->upload->display_errors();
//line of codes that displays if there are errors
}
else
{
$data['audio'] = $_FILES['output']['name'];
$this->load->model('main');
$query = $this->main->insert('audio',$data);
if($query == TRUE){
$this->load->view('admin/success');
}
}
在上面的代码中,您指定了
if($query = TRUE){
$this->load->view('admin/success');
}
由于这是一个比较,而不是分配,因此应将其更正为
if($query == TRUE){
$this->load->view('admin/success');
}
通过其他文件格式检查它,无论您是否通过:
print_r($_FILES);
并且在if条件中使用=
而不是==
。
试试这个:
if($query = TRUE){
$this->load->view('admin/success');
}