php - 如何将图片路径和名称上传到数据库 - Codeigniter

标签 php mysql codeigniter upload insert

我知道这个问题已经被问过好几次了,但是我发现的所有其他问题都与我想要的不同。

我想将文件名和文件路径上传到名为“factoryimages”的表中。

这样做的最佳方法是什么?

我的 Controller 功能:

function do_upload()
{
    $config['upload_path'] = './assets/uploads/';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size'] = '1000';
    $config['max_width']  = '';
    $config['max_height']  = '';
    $config['overwrite'] = TRUE;
    $config['remove_spaces'] = TRUE;

    $this->load->library('upload', $config);

    if ( ! $this->upload->do_upload())
    {
        $error = array('error' => $this->upload->display_errors());

        $this->load->view('members/header');
        $this->load->view('members/upload_form', $error);
        $this->load->view('members/footer');
    }
    else
    {
        $data = array('upload_data' => $this->upload->data());
        $this->load->view('members/header');
        $this->load->view('members/upload_success', $data);
        $this->load->view('members/footer');
    }
}

我在我的模型中试过这个,但没有用:

function insert_images()
{
    $insert_data = array(
    'filename' => $image_data['file_name'],
    'fullpath' => $image_data['full_path']
    );

    $this->db->insert('bedrijfimages', $insert_data);
}

我的看法:

<?php echo $error;?>
<br/>
<?php echo form_open_multipart('upload/do_upload');?>

<input type="file" name="userfile" size="20" multiple="true" />

<br /><br />

<input type="submit" value="upload" />

</form>

编辑:

我收到一个服务器错误,但我看不到它是什么。

我的 Controller 功能:

function do_upload()
{
    $config['upload_path'] = './assets/uploads/';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size'] = '1000';
    $config['max_width']  = '';
    $config['max_height']  = '';
    $config['overwrite'] = TRUE;
    $config['remove_spaces'] = TRUE;

    $this->load->library('upload', $config);

    if ( ! $this->upload->do_upload())
    {
        $error = array('error' => $this->upload->display_errors());
        $this->upload_model->insert_images($this->upload->data());
        $this->load->view('members/header');
        $this->load->view('members/upload_form', $error);
        $this->load->view('members/footer');
    }
    else
    {
        $data = array('upload_data' => $this->upload->data());
        $this->load->view('members/header');
        $this->load->view('members/upload_success', $data);
        $this->load->view('members/footer');
    }
}

我的模型函数:

function insert_images($data = array())
{
    $data = array(
    'filename' => $image_data['file_name'],
    'fullpath' => $image_data['full_path']
    );

    $this->db->insert('bedrijfimages', $data);
}

可能是什么问题?

最佳答案

您必须将此数据作为数组$this->upload->data()

传递给您的插入

在您的 Controller 上,您必须在验证完成时进行设置

else
{
    $this->MODELNAME->insert_images($this->upload->data());
    $data = array('upload_data' => $this->upload->data());
    $this->load->view('members/header');
    $this->load->view('members/upload_success', $data);
    $this->load->view('members/footer');
}

在你的模型中:

function insert_images($image_data = array()){
      $data = array(
          'filename' => $image_data['file_name'],
          'fullpath' => $image_data['full_path']
      );
      $this->db->insert('bedrijfimages', $data);
}

您可以在 CI 文档页面查看此数组中的信息:Codeigniter upload library

关于php - 如何将图片路径和名称上传到数据库 - Codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16190381/

相关文章:

php - Symfony2 将 4 表内连接查询映射到 Doctrine QueryBuilder

php - autoescape 中的无空间 block 在 Twig 3.* 中抛出 SyntaxException

php - 如何从 mongoDB 集合中的特定行(例如第 6 行)获取数据?

php - 注意第 3 行的 : Undefined index: id in C:\xampp\htdocs\libsys\edit. php

php - 通过sessionID存储好友请求的userID

php - foreach 中 kohana orm find_all() 的奇怪行为

php json 请求 : json_decode unicode string

codeigniter - Codeigniter 的 CRON 作业

php - 即使具有(似乎)正确的文件权限,上传目标文件夹似乎也不可写

css - CodeIgniter 如何添加链接到静态文件