【问题标题】:How to declare variable outside if and for statement that already declared in CodeIgniter如何在已经在 CodeIgniter 中声明的 if 和 for 语句之外声明变量
【发布时间】: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-&gt;upload-&gt;do_upload('gambar')){}else{ $this-&gt;upload-&gt;display_errors(); }中得到这样的错误信息

标签: php codeigniter upload updating


【解决方案1】:

检查语句:

// check filesNumber value, after see this , you may fix this quickly.
 $filesNumber        =   sizeof($_FILES['gambar']['tmp_name']);

【讨论】:

    最近更新 更多