这是我的观点(html)内容
<tr>
<td width="341" class="linkssubhead">
Subcategory Image <span class="errormsg">*</span>
</td>
<td width="965" align="left">
<input type="file" name="subcategory_image" value="" class="required" /> <span class="errormsg"><?php echo $file_error ; ?> </span>
</td>
</tr>
<tr>
<td width="341" class="linkssubhead">
Subcategory Banner Image <span class="errormsg">*</span>
</td>
<td width="965" align="left">
<input type="file" name="subcategory_banner_image" value="" class="required" /> <span class="errormsg"><?php echo $file_error ; ?> </span>
</td>
</tr>
<tr>
<td width="341" class="linkssubhead">
Subcategory Banner Logo <span class="errormsg">*</span>
</td>
<td width="965" align="left">
<input type="file" name="subcategory_banner_logo" value="" class="required" /> <span class="errormsg"><?php echo $file_error ; ?> </span>
</td>
</tr>
这是我的控制器
$config_image['allowed_types'] = 'gif|jpg|png';
$config_image['overwrite'] =TRUE;
$config_image['subcategory_image']['upload_path'] = './public/subcategory/';
$config_image['subcategory_banner_image']['upload_path'] = './public/subcategory/bannerimage/';
$config_image['subcategory_banner_logo']['upload_path'] = './public/subcategory/bannerlogo/';
$config_image['subcategory_image']['file_name'] = $this->input->post('subcategory_name');
$config_image['subcategory_banner_image']['file_name'] = 'banner_image_'.$this->input->post('subcategory_name');
$config_image['subcategory_banner_logo']['file_name'] = 'banner_logo_'.$this->input->post('subcategory_name');
$this->load->library('upload', $config_image);
$this->upload->initialize($config_image);
if (!$this->upload->do_upload(array('subcategory_image','subcategory_banner_image','subcategory_banner_logo')))
{
$errors = $this->upload->display_errors();
if ($errors)
{
$data['file_error'] = $errors;
$data['body'] = $this->load->view('matress_model/add_subcategory',$data,TRUE);
$this->load->view('page',$data);
}
}
else
{
redirect('fileupload/sucess');
}
提交表单后,我收到了错误
Severity: Warning
Message: Illegal offset type in isset or empty
Filename: libraries/Upload.php
Line Number: 140
如何摆脱这种情况以及如何允许上传多个文件?
答案 0 :(得分:1)
为每个图像分别配置一个数组,然后上传。如下所示
//I have given an exmaple for one image repeat this for others,
$config_image[0]['allowed_types'] = 'gif|jpg|png';
$config_image[0]['overwrite'] =TRUE;
$config_image[0]['subcategory_image']['upload_path'] = './public/subcategory/';
$config_image[0]['subcategory_image']['file_name'] = $this->input->post('subcategory_name');
//Load and initialize the library as below and then upload
$this->load->library('upload', $config_image[0]);
$this->upload->initialize($config_image[0]);