【发布时间】:2017-04-09 11:11:24
【问题描述】:
我在代码点火器中上传多个图像相同的代码用于更新多个图像但在更新时我更改名称我不更改图像然后单击确定按钮名称是更新但图像丢失但我更改了仅更新的图像..为什么?
我的控制器
function update_products()
{
$id = $this->input->post('id');
$this->load->library('upload');
$dataInfo = array();
$files = $_FILES;
$cpt = count($_FILES['userfile']['name']);
for($i=0; $i<$cpt; $i++)
{
$_FILES['userfile']['name']= $files['userfile']['name'][$i];
$_FILES['userfile']['type']= $files['userfile']['type'][$i];
$_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i];
$_FILES['userfile']['error']= $files['userfile']['error'][$i];
$_FILES['userfile']['size']= $files['userfile']['size'][$i];
$this->upload->initialize($this->set_upload_options());
$this->upload->do_upload();
$dataInfo[] = $this->upload->data();
}
$data = array(
'name' => $this->input->post('name'),
'prod_image' => $dataInfo[0]['file_name'],
'prod_image1' => $dataInfo[1]['file_name'],
'prod_image2' => $dataInfo[2]['file_name'],
'upadted_time' => date('Y-m-d H:i:s')
);
$stock = array(
'discount' => $this->input->post('discount'),
);
$this->db->where('prod_id', $id);
$this->db->update('tbl_products', $data);
$this->db->where('prods_id', $id);
$this->db->update('otc_product_discount', $stock);
$this->session->set_flashdata('msg','<div class="alert alert-success text-center">You are Successfully updated!</div>');
redirect('index.php/admin/display_product_list');
}
}
我的看法
<label for="type">Product Image</label>
<img src="<?php echo base_url("./resources/images/products/"); if($row->prod_image) echo $row->prod_image; else echo "no-img.jpg"; ?>" alt="" height="50" width="50"/>
<input type="file" id="med_img" class="file_upload" name="userfile[]" value="<?php echo $row->prod_image; ?>" />
<label for="type">Product Image2</label>
<img src="<?php echo base_url("./resources/images/products/"); if($row->prod_image1) echo $row->prod_image1; else echo "no-img.jpg"; ?>" alt="" height="50" width="50"/>
<input type="file" id="med_img" class="file_upload" name="userfile[]" value="<?php echo $row->prod_image1; ?>" />
<label for="type">Product Image3</label>
<img src="<?php echo base_url("./resources/images/products/"); if($row->prod_image2) echo $row->prod_image2; else echo "no-img.jpg"; ?>" alt="" height="50" width="50"/>
<input type="file" id="med_img" class="file_upload" name="userfile[]" value="<?php echo $row->prod_image2; ?>" />
上传功能是
private function set_upload_options()
{
//upload an image options
$config = array();
$config['upload_path'] = './resources/images/products/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '0';
$config['overwrite'] = FALSE;
return $config;
}
【问题讨论】:
-
name和upadted_time字段已正确更新。对吗? -
是的。图像丢失我不改变图像
-
有什么帮助吗? @Razib Al Mamun
标签: php arrays codeigniter