我正在使用下面的代码来处理图像上传。每件事都进展顺利。我允许选择上传两张图片,一张是徽标,另一张是屏幕截图。
现在,当我提供编辑上传的选项时,比如选择要上传的新文件并替换旧文件,我遇到了这个问题。
在我的images[]
数组中,我将在循环的帮助下一一获取图像名称。但是,当用户想要更改第二张图像(屏幕截图)并且在徽标字段中没有选择任何内容时,应该只更改屏幕截图。
但在images[]
数组中,第一个元素将是上传的第一个元素。如果我选择两个图像都可以,我会得到 logo.jpgimages[0]
和 screenshot.jpg images[1]
。但是当我只选择第二张图片时,我会在 .jpg 中得到 screenshot.jpg images[0]
。但是,数组的第一个元素应该是空白的,并且数组的第二个元素应该具有第二个图像上传选项的数据,以便更改生效。我怎样才能做到这一点?
$config['upload_path'] = '../uploads/';
$config['allowed_types'] = '*';
$config['max_size'] = '0';
$config['max_width'] = '0';
$config['max_height'] = '0';
$this->load->library('upload', $config);
$image = array();
foreach ($_FILES as $key => $value) {
if (!empty($value['tmp_name'])) {
if ( ! $this->upload->do_upload($key)) {
$error = array('error' => $this->upload->display_errors());
//failed display the errors
} else {
//success
$data = $this->upload->data();
$image[]= $data['file_name'];
}
}
}