2016-10-06 1 views
0

파일을 업로드 한 후 파일 이름을 반환 할 때 문제가 있습니다. 제출 버튼을 누르면 폴더로 이미지를 업로드 할 수 있지만 파일 이름은 표시되지 않습니다.codeigniter에서 업로드 후 파일 이름을 배열로 가져옵니다.

CONTROLLER :

public function add() 
    { 
     $title = $this->input->post('title'); 
     $files = $this->do_upload(); 
     //print_r($files); 
     $this->user->in($title,$files); 
    } 


public function do_upload() 
    {  

     $name_array = array(); 
     $files = $_FILES; 
     $cpt = count($_FILES['userfile']['name']); 
     for($i=0; $i<=$cpt-1; $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()); 
      $data = $this->upload->do_upload(); 
      $name_array[] = $data['file_name']; 
     } 

     $names = implode(',', $name_array); 
     return $names; 
    } 

private function set_upload_options() 
    { 
     $config = array(); 
     $config['upload_path'] = './portfolio/'; 
     $config['allowed_types'] = 'gif|jpg|png'; 
     $config['max_size']  = '0'; 
     $config['overwrite']  = FALSE; 

     return $config; 
    } 

모델 :

public function in($title,$file) 
    { 
     foreach ($title as $key => $n) { 

         $insert[] = array(
           'title' => $n, 
           'file' => $file[$key] 
           ); 
      } 
      $this->db->insert_batch('title',$insert); 
    } 

보기 :

코드입니다

$filesprint_r($files);으로 인쇄하려고하면 단순히 ,이 표시됩니다.

참고 링크 : Multiple files upload (Array) with CodeIgniter 2.0

+0

의 결과는'do_upload' 컨트롤러의'var_dump ($ names)'결과를 보여줍니다. –

+0

@RejoanulAlam'string (1) ",". 이것은 그 결과 보여주는 – Shihas

답변

1

$this->upload->do_upload() 반환은 참 또는 거짓. $name_array[] = $this->upload->data('file_name');

+0

고마워 .. 그것은 나를 위해 작동합니다 :) – Shihas

+0

다행히 도왔습니다! – cssBlaster21895