2013-04-15 188 views
0

控制器笨上傳多個文件

$config['upload_path'] = '../ci/assets/images/'; 
$config['allowed_types'] = 'gif|jpg|png'; 
$config['max_size'] = '1000'; 
$config['max_width'] = '1024'; 
$config['max_height'] = '768'; 

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

//load mPhoto model 
$this->load->model("carstock_model"); 

//Check to see if upload was activated if/then/else statement 
if (! $this->upload->do_upload()) 
{ 
    $error = array('error' => $this->upload->display_errors()); 
    $this->load->view('admin_view.php', $error); 
} 
else 
{ 
    for($i=1; $i<6; $i++) { 
     $data = array('upload_data' => $this->upload->data()); 
     $data2 = $this->input->post(NULL, TRUE); //returns POST items with XSS filter 
     $filename = $data['upload_data']['file_name']; //obtain the upload filename 
     $data2['picture' .$i]= $filename .$i; //get and set the filename 

     // $data2['PhotoFilenameLarge']=$filename; //get and set the filename 
     $this->carstock_model->insertData($data2); //add the db 
    } 

    $this->load->view('upload_success', $data); //display the success view 
} 

VIEW

...  
<input name="userfile" type="file" multiple="multiple" /> 
... 

模型

public function insertData($data){ 
$this->db->insert("carstock", $data); //active record 
} 

的問題是通過文件在MySQL只需最後選定的圖像作爲輸入並存儲時名稱錯誤。 感謝您的幫助。

回答

1
for($i = 0;$i<=2;$i++){ 
    $name = 'image_0'.$i; 

    if(isset($_FILES[$name])){ 
     $this->upload->do_upload($name); 
     $data = $this->upload->data(); 
     dump($data['file_name']); 
    }else{ 
     // do nothing 
} // end of for loop 

dump($ data ['file_name']);將轉儲文件名稱。但是,你必須爲每個字段中選擇文件