图像已上载到CodeIgniter中的文件夹,但不在数据库中[已关闭]

3pmvbmvn  于 2022-12-07  发布在  其他
关注(0)|答案(2)|浏览(96)

**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。

这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
8个月前关闭。
Improve this question
我的CodeIgniter项目有问题。我上传的图片只添加到文件夹中,而不是数据库中。数据库中的列名是“user_image”。
这是我的控制器:

public function upload() {
            if(!$this->session->userdata('logged_in')) {
                redirect('users/login');
            }
            
            $data['title'] = "file Upload";
                $config['upload_path']          = './uploads/';
                $config['allowed_types']        = 'gif|jpg|png';
                $config['max_size']             = 500;
                $this->load->library('upload', $config);
                $data['error'] = "";
                if ( ! $this->upload->do_upload('userfile'))
                {
                        if(isset($_FILES['userfile'])){
                        $data['error'] = $this->upload->display_errors();
                        }
                        $this->load->view('templates/header');
                        $this->load->view('users/upload', $data);
                        $this->load->view('templates/footer');
                }
                else
                {
                        $user_id = $this->session->userdata('id');

                        $uploaddata = $this->upload->data();

                        $filename = $uploaddata['file_name'];

                        $userdata = array(
                            'user_image' => $filename
                        );

                        $this->user_model->update($user_id, $userdata);
                        $this->session->set_flashdata('message', "Upload Succesfully");
                        redirect('dashboard/index');
                } 
}

我的模型:

public function update($user_id, $userdata) {
       $this->db->where('id', $user_id);
       $this->db->update('users', $userdata);
    
}

而我的看法:

<?php echo form_open_multipart('users/upload'); ?>
    <div class="row justify-content-md-center">
        <div class="col-md-4 col-md-offset-4">
            <h1 class="text-center"><?php echo $title; ?></h1>
            <div class="form-group">
                <input type="file" name="userfile" class="form-control" >
                <?php echo $error; ?>
            </div>
<br>
            
            <br>
            <div class="d-grid gap-2">
                <button type="submit" class="btn btn-primary btn-lg">Upload</button>
            </div>
        </div>
    </div>
    
<?php echo form_close(); ?>

非常感谢你们提前伙计们。我将感谢任何形式的帮助。

a9wyjsp7

a9wyjsp71#

上面的代码似乎没有任何明显的错误,但有几项需要检查:

  • 用户模型是否真正连接到数据库?https://codeigniter.com/userguide3/general/models.html#connecting-to-your-database
  • users表在模式中真的有user_image字段吗?
  • session->userdata('id')是否在登录时使用真实的现有用户id进行更新?
  • 具有给定id的用户记录是否确实已存在于数据库中?update()未插入新值。https://codeigniter.com/userguide3/database/query_builder.html#updating-data
g52tjvyc

g52tjvyc2#

您可以尝试从数组中返回单个项。

$filename = $this->upload->data('file_name'); // i.e. it will return test.jpg

还要检查数据库列类型以接受/将文件名保存为字符串

相关问题