2015-11-06 27 views
1

在codeigniter,而我上傳圖像和存儲圖像名稱在數據庫中如果實際圖像名稱是像「abc data.jpg」,我想存儲圖像名稱像abc_data.jpg和這個名字圖片也應該在上傳文件夾中移動。雖然上傳圖像不想保存實際圖像名稱與空間

這是我的圖片上傳代碼: -

$config['upload_path']   = './uploads/'; 
       $config['allowed_types']  = 'gif|jpg|png|jpeg'; 
       $config['max_size']    = 5000; 
       $this->load->library('upload', $config); 
       $this->upload->initialize($config); 
       if ($this->upload->do_upload('cover_image')) 
       { 
        $data =$this->upload->data(); 
        $data_ary = array(
           'project_id' => (int)$iProjectId, 
           'image_url' => $data['file_name'], 
           'is_covred_photo' => 'YES' 
         ); 
       $this->db_project->insert($this->sTable6 , $data_ary); 
       $aResp = array('project_images_id' => $this->db->insert_id()); 
       } 

回答

1

添加$config['file_name']

$config['upload_path']   = './uploads/'; 
$config['allowed_types']  = 'gif|jpg|png|jpeg'; 
$config['max_size']    = 5000; 
$config['file_name']   = 'My_new_file_name'; # Add here 

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

刪除此行以及

$this->upload->initialize($config); 
+0

$ config ['file_name'] ='My_new_file_name';但每次文件名稱是不同的,所以我如何使動態?我的意思是如果我選擇任何文件名稱是存儲與空間,所以我怎麼能用下劃線存儲它? –

+1

在文件名前使用['str_replace()'](http://www.w3schools.com/php/func_string_str_replace.asp) –

+0

@KimJones高興地幫助:) –

0

試試這個:

$file_name = $_FILES['file_view_name']['name']; 
$file_name_pieces = split('_', $file_name); 
$new_file_name = ''; 
$count = 1; 

foreach($file_name_pieces as $piece) 
{ 
    if ($count !== 1) 
    { 
     $piece = ucfirst($piece); 
    } 

    $new_file_name .= $piece; 
    $count++; 
} 

$config['file_name'] = $new_file_name; 

Refer this

+1

好吧謝謝你這麼多 –