我的表单中有3个输入文件字段,每次提交表单时,它只提交第一个文件,其他文件不在images文件夹中。
这就是我在我的控制器中执行此操作的方法:
public function book()
{
$id = $this->manage_model->book();
$images = array("1","2","3");
$this->load->library('upload');
foreach($images as $i){
if(!empty($_FILES['files'.$i]['name']))
{
$config['file_name'] = $id . '_' . $i;
$config['upload_path'] = './photos/';
$config['allowed_types'] = 'jpg|png';
$this->upload->initialize($config);
$name = "files" . $i;
if ( ! $this->upload->do_upload($name))
{
//set flashdata
redirect('manage/add_page');
}
else
{
redirect('manage/add_page');
}
}
}
}
,这些是文件输入字段的名称:
<input type="file" name="files1" />
<input type="file" name="files2" />
<input type="file" name="files3" />
我在我的表单中使用multipart和post方法,所以这也不是问题。有人看错了什么吗?请让我知道
答案 0 :(得分:0)
重定向不允许foreach循环经历多次,因为它在第一次循环回到add_page后被重定向。
foreach循环应该如下所示:
foreach($images as $i){
if(!empty($_FILES['files'.$i]['name']))
{
$config['file_name'] = $id . '_' . $i;
$config['upload_path'] = './photos/';
$config['allowed_types'] = 'jpg|png';
$this->upload->initialize($config);
$name = "files" . $i;
if ( ! $this->upload->do_upload($name))
{
redirect('manage/add_page');
}
}
}
redirect('manage/add_page');
我想当我在这里发布一个问题时我想的更多大声笑......