2017-09-02 59 views
0

用我的代码下面它可以上传只是单个文件,但不能上传多个文件,请告诉我我做错了什么。无法使用CodeIgniter 3上传多个文件3

这是错误消息。

阵列([错误] => 您没有选择要上传的文件。

更新我的问题 当我做

echo $i.":".$_FILES['file_upload']['name'][$i].'<br/>'; 

这里是结果

0:主标题 - 标题 - bg.jpg 1:varun.jpg

但之后我改变了代码

$_FILES['file_upload']['name'] = $_FILES['file_upload']['name'][$i]; 
echo $i.":".$_FILES['file_upload']['name'].'<br/>'; 

下面是结果:

0 :heading-title-bg.jpg 1:e

//控制器

public function addPhoto(){ 

      if (!empty($_FILES)): 
       $count = count($_FILES['file_upload']['name']); 
       for($i =0; $i<$count;$i++): 

        $_FILES['file_upload']['name']  = $_FILES['file_upload']['name'][$i]; 
        $_FILES['file_upload']['type']  = $_FILES['file_upload']['type'][$i]; 
        $_FILES['file_upload']['tmp_name'] = $_FILES['file_upload']['tmp_name'][$i]; 
        $_FILES['file_upload']['error']  = $_FILES['file_upload']['error'][$i]; 
        $_FILES['file_upload']['size']  = $_FILES['file_upload']['size'][$i]; 

        $config['upload_path']   = './uploads/employee/'; 
        $config['allowed_types']  = 'jpg|png'; 
        $config['max_size']    = 5000; 
        $config['max_width']   = 0; 
        $config['max_height']   = 0; 
        $config['overwrite']   = FALSE; 
        $config['remove_spaces']  = TRUE; 

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


        if($this->upload->do_upload('file_upload')){ 

         $data = $this->upload->data(); 
         echo "<pre>"; 
         print_r($data); 
         echo "</pre>"; 

        }else{ 
         $error = array('error' => $this->upload->display_errors()); 
         print_r($error); 
        } 

       endfor; 

      endif; //$_FILE 

    } 

VIEW

<input type="file" name="file_upload[]" class="form-control-file" id="fileUpload" multiple> 
+0

为什么你也算'[ '名']'场 –

+0

如果你做什么ü得到:'的var_dump($ _ FILES [ 'file_upload']);在'权;模具()函数的顶部? – Sletheren

+0

阵列(5){ [ “名称”] =>数组 (2){ [0] => 串(38) “的屏幕截图2560年8月28日在13.40.35.png” [1] => string(38)“Screen Shot 2560-08-28 at 19.47.01。PNG” } [ “型”] => 阵列(2){ [0] => 串(9) “图像/ PNG” [1] => 串(9) “图像/ PNG” } [ “tmp_name的值”] => 阵列(2){ [0] => 串(14) “/ TMP/phpJnbSu4” [1] => 串(14) “/ TMP/phpUMFg8l” } [ “错误”] =>数组 (2){ [0] => INT(0) [1] => INT(0) } [ “大小”] => 阵列(2){ [0] => INT(110397) [1] => INT(83195) } } – xDevelopers

回答

0

这是工作的代码在我的项目

$data = array(); 
      $filesCount = count($_FILES['daily_records']['name']); 
      for($i = 0; $i < $filesCount; $i++){ 
      $_FILES['daily_record']['name'] = $time."-".$_FILES['daily_records']['name'][$i]; 
      $_FILES['daily_record']['type'] = $_FILES['daily_records']['type'][$i]; 
      $_FILES['daily_record']['tmp_name'] = $_FILES['daily_records']['tmp_name'][$i]; 
      $_FILES['daily_record']['error'] = $_FILES['daily_records']['error'][$i]; 
      $_FILES['daily_record']['size'] = $_FILES['daily_records']['size'][$i]; 
      $uploadPath = './assets/uploads/daily_records/daily_record'; 
      $config['upload_path'] = $uploadPath; 
      $config['allowed_types'] = 'gif|jpg|png|pdf|docx'; 
      //$config['max_size'] = '100'; 
      //$config['max_width'] = '1024'; 
      //$config['max_height'] = '768'; 

      $this->load->library('upload', $config); 
      $this->upload->initialize($config); 
      if($this->upload->do_upload('daily_record')){ 
      $fileData = $this->upload->data(); 
      $file_name = $fileData['file_name']; 
      echo $file_name; 
    } 
} 
0

我已经通过自己的固定。

这里是我最终的代码现在是我的工作。

   foreach ($_FILES as $key => $v) { 

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

         //echo $_FILES['file_upload']['name'] ; 

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

         }else{ 
          $data = $this->upload->data(); 
          echo "<pre>"; 
          print_r($data); 
          echo "</pre>"; 
         } 
        }      
       }