如何在codeigniter中为用户回显上传的文件?

时间:2016-01-22 12:59:21

标签: php mysql codeigniter upload echo

我有一个表来存储文件链接,因为它显示:(文档) 它就像:

id | user_id | orig_name | FILE_NAME

pdf文件已正确上传,但对于user_id,它为我提供了恒定的值。

我的目标是上传一个带有管理员权限的文件,然后能够向不同用户显示不同的pdf文件,并将user_id与id会话连接

我做了会话来存储用户ID。 $这 - >会话而>用户数据(' USER_ID&#39)

这是我的上传控制器:

function index()
{
    $this->load->view('upload_form', array('error' => ' ' ));
}

function do_upload()
{
    $config['upload_path'] = 'uploads';
    $config['allowed_types'] = 'pdf';
    //$config['max_size']   = '10000';
    //$config['max_width']  = '1024';
    //$config['max_height']  = '768';
    $config['encrypt_name']  = TRUE;

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

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

        $this->load->view('upload_form', $error);
    }
    else
    {
        $upload = $this->upload->data();

        $data['upload_data'] = $upload;

        $user_id = $this->session->userdata('user_id'); 

//do I need the user's id or the admin? only the admin can upload files. (admin user is in a different table)

        $this->db->set('user_id', $user_id);
        $this->db->set('file_name', $upload['file_name']);
        $this->db->set('orig_name', $upload['orig_name']);

        $this->db->insert('documents');

        $this->load->view('upload_success', $data);
    }
}

感谢您帮助我! 我试着说清楚,如果它有点复杂,那么请问,我会回答。

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

像这样插入

$data = array(
   'user_id' => $user_id ,
   'file_name' => $upload['file_name'] ,
   'orig_name' => $upload['orig_name']
);

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