代码适用于图像,但不适用于 codeigniter 中的其他文件
Code works for image but not for other files in codeigniter
我已成功将图像上传到文件夹并将其名称上传到数据库,但相同的代码不会上传文件夹中的文件,而是上传 database.Following 中的名称是我将音频文件上传到的代码我的文件夹 musics.
控制器功能
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
在上面的代码中你指定了
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');
}
尝试从 $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');
}
}
我已成功将图像上传到文件夹并将其名称上传到数据库,但相同的代码不会上传文件夹中的文件,而是上传 database.Following 中的名称是我将音频文件上传到的代码我的文件夹 musics.
控制器功能
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
在上面的代码中你指定了
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');
}
尝试从 $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');
}
}