【发布时间】:2025-12-01 09:20:02
【问题描述】:
我正在尝试用新的图像表更新我的图像表。
这是我的控制器:
if(!empty($_FILES['gambar']['name'])){
$filesNumber = sizeof($_FILES['gambar']['tmp_name']);
$files = $_FILES['gambar'];
$config['upload_path'] = './assets/img/pics/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 2048;
$config['encrypt_name'] = true;
for ($i = 0; $i < $filesNumber ; $i++) {
$_FILES['gambar']['name'] = $files['name'][$i];
$_FILES['gambar']['type'] = $files['type'][$i];
$_FILES['gambar']['tmp_name'] = $files['tmp_name'][$i];
$_FILES['gambar']['error'] = $files['error'][$i];
$_FILES['gambar']['size'] = $files['size'][$i];
$this->upload->initialize($config);
if($this->upload->do_upload('gambar')){
$data = $this->upload->data();
$insert[$i]['kode_asset'] = $this->input->post('kode');
$insert[$i]['gambar'] = $data['file_name'];
}
}
$this->db->insert_batch('gambar', $insert);
redirect('admin/asset','refresh');
}
这是多个文件的输入:
<input type="file" name="gambar[]" id="gambar" class="form-control-file" multiple>
但它每次都会在insert_batch 语法和You must use the "set" method to update an entry. db 错误处通知Undefined variable: insert。有人可以帮我吗?
【问题讨论】:
-
这个
$_FILES['gambar']['name'] = $files['name'][$i];的目的是什么 -
只需在 for 循环上方添加
$insert = array() -
我只是想出了错误是如何出现的。这是因为文件没有上传。现在我遇到了另一个问题,它可以上传 jpg 图像文件,但不能上传 png。对不起我的英语不好。
-
@RizkyIrmawan 如果您有其他信息,请更新您的问题。
-
在
else语句if($this->upload->do_upload('gambar')){}else{ $this->upload->display_errors(); }中得到这样的错误信息
标签: php codeigniter upload updating