2013-04-15 49 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']);将转储文件名称。但是,你必须为每个字段中选择文件