2015-09-04 31 views
0

我在成功上傳文件時遇到錯誤。 HTML輸入文件就像codeigniter中的多個文件上傳錯誤消息

<input type="file" name="userfile[]" > 
    <input type="file" name="userfile[]" > 

我控制器功能包含

$files = $_FILES; 
      $cpt = count($_FILES['userfile']['name']); 
      for($i=0; $i<$cpt; $i++) 
      {   
       $_FILES['userfile']['name']= $files['userfile']['name'][$i]; 
       $_FILES['userfile']['type']= $files['userfile']['type'][$i]; 
       $_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i]; 
       $_FILES['userfile']['error']= $files['userfile']['error'][$i]; 
       $_FILES['userfile']['size']= $files['userfile']['size'][$i];  

       $this->upload->initialize($this->set_upload_options()); 
       $this->upload->do_upload(); 
      } 

      if(!$this->upload->do_upload('userfile[0]')&&!$this->upload->do_upload('userfile[1]')) 
      { 
       $data['message'] = $this->upload->display_errors(); 
       $this->parser->parse('view_fileUploading',$data); 
      } 
      else 
      { 
       $data['message'] = "Success"; 
       $this->parser->parse('view_fileUploading',$data); 
      } 

private function set_upload_options() 
    { 
     $id = uniqid(); 
     $new_image_name = 'image_' . $id . '.png'; 
     //upload an image options 
     $config = array(); 
     $config['upload_path'] = 'images/'; 
     $config['allowed_types'] = 'gif|jpg|png'; 
     $config['max_size']  = '0'; 
     $config['overwrite']  = FALSE; 
     $config['file_name'] = $new_image_name; 


     return $config; 
    } 

在我的圖片文件夾,我正在成功地讓我的所有上傳圖片,但我得到的錯誤太多這就像「你沒有選擇要上傳的文件」enter image description here

我想我

如果(!$這個 - > upload-> do_upload( 'userfile的[0]')& &!$這個 - > upload-> do_upload( 'userfile的1'))

無法正常工作

我怎樣才能獲得正確的成功消息?

回答

1

您是選擇在重新上傳文件:

if(!$this->upload->do_upload('userfile[0]')&&!$this->upload->do_upload('userfile[1]'))

然而,瞭解您的文件已經被​​3210

$this->upload->initialize($this->set_upload_options()); $this->upload->do_upload();

然後上傳,實際的解決方案應該是:

$uploadStatus=array(); 
    $cpt = count($_FILES['userfile']['name']); 
    for ($i = 0; $i < $cpt; $i++) { 
     $_FILES['userfile']['name'] = $files['userfile']['name'][$i]; 
     $_FILES['userfile']['type'] = $files['userfile']['type'][$i]; 
     $_FILES['userfile']['tmp_name'] = $files['userfile']['tmp_name'][$i]; 
     $_FILES['userfile']['error'] = $files['userfile']['error'][$i]; 
     $_FILES['userfile']['size'] = $files['userfile']['size'][$i]; 

     $this->upload->initialize($this->set_upload_options()); 
     $uploadStatus[]=$this->upload->do_upload(); 
    } 
    if (in_array('0',$uploadStatus)) { 

     $data['message'] = $this->upload->display_errors(); 
     $this->parser->parse('view_fileUploading', $data); 

    } else { 
     $data['message'] = "Success"; 
     $this->parser->parse('view_fileUploading', $data); 
    }