2013-04-12 54 views
2

我試圖將不同用戶的圖片路徑上載到數據庫中。 我在codeigniter上很新,我讀了很多教程,但我很苦惱。 這是我的控制器,但我甚至不知道如何鏈接圖像與用戶會話。如何將路徑圖像用戶存儲到數據庫中:Codeigniter

這裏是我的代碼:

function do_upload() 

{ 
$config['upload_path'] = './uploads/'; 
$config['allowed_types'] = 'gif|jpg|jpeg|png'; 
$config['max_size'] = '100'; 
$config['max_width'] = '1024'; 
$config['max_height'] = '768'; 
$config['overwrite'] = false; 

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

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

$this->load->view('upload_form', $error); 
}else 

{  
$data = $this->upload->data(); 
$file_array = $this->upload->data('file_name'); 
$profile['profile_picture'] = $file_array['file_name']; 
$this->db->where('username', $this->input->post('username')); 
$this->db->update('users', $profile); 
$this->load->view('upload_success', $data); 

    } 

} 

我的數據庫中有一個表叫用戶和「profile_picture」是路徑領域。當我上傳一張圖片時,我只是讓我的所有用戶填充了相同的文件名。

+0

用戶會話意味着你有一個登錄的用戶,這意味着你有他/她的唯一的ID在你的WHERE語句所以用它來代替用戶名和從會話不抓住它:我用這種方式解決來自帖子變量。 – ahmad

+0

@ahmad:fofoofoooo –

回答

1

感謝提示傢伙

function do_upload(){ 

    if($this->session->userdata('is_logged_in')) 
    { 
    $id = $this->session->userdata('id'); 
    $config['upload_path'] = './uploads/'; 
    $config['allowed_types'] = 'gif|jpg|jpeg|png'; 
    $config['max_size'] = '100'; 
    $config['max_width'] = '1024'; 
    $config['max_height'] = '768'; 
    $config['overwrite'] = false; 

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

    if (! $this->upload->do_upload()) 
    { 
     $error = array('error' => $this->upload->display_errors()); 
     $this->load->view("site_header"); 
     $this->load->view("site_nav"); 
     $this->load->view('upload_form', $error); 
     }else{  

     $data = $this->upload->data(); 
     $file_array = $this->upload->data('file_name'); 
     $profile['profile_picture'] = $file_array['file_name']; 
     $this->db->where('id', $id); 
     $this->db->update('users', $profile); 
     $this->load->view('upload_success', $data); 
     } 
    }else{ 
     $this->load->view("site_header"); 
     $this->load->view("site_nav"); 
     $this->load->view("login_view"); 
     $this->load->view("site_footer"); 
     } 
    } 
0

如果您使用有一個ID,只是做的ImagePath = /upload/avatar/'.$userID.'.jpg」或使用一個隨機的文件名,並存儲爲一個新的領域

相關問題