2016-09-22 8 views
0

업로드하는 동안 모든 파일의 이름을 변경하고 싶습니다. 한 번에 3 개의 파일을 업로드하고 있습니다. 내 프론트 엔드 코드는 컨트롤러의여러 파일 이름 바꾸기 codeigniter

<form> 
<input type="file" class="form-control" name="photo_1"> 
<input type="file" class="form-control" name="pan_1"> 
<input type="file" class="form-control" name="add_1"> 
</form> 

내 코드가

function upload(){ 
    $this->upload_file('photo_1'); 
    $this->upload_file('pan_1'); 
    $this->upload_file('add_1'); 
} 
function upload_file($field_name) 
    { 

     //$ext = substr(strrchr($_FILES[$field_name]['name'], '.'), 1); 
     //$new_name = $types.'_'.$numb.'_dev_.'.$ext; 
     $config['file_name']   = $_FILES[$field_name]['name']; 
     $config['upload_path']   = './uploads/'; 
     $config['allowed_types']  = 'jpeg|jpg|png'; 
     // $config['max_size']    = 100; 

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

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

     } 
     else 
     { 
      $data = array('upload_data' => $this->upload->data()); 

     } 
    } 

를 다음과 같습니다하지만 증가와 각 파일에 대해 동일한 이름을 얻는 '입니다. 좋아하는 사진 _1, 사진 _11, 사진 _12. 나는

+0

http://www.codexworld.com/codeigniter-upload-multiple-files-images/ 아래 내 컨트롤러에 다음 줄을 실종됐다 – dev

답변

0

문제는 여기 $config['file_name'] = $_FILES[$field_name]['name']; 어떤 도움을 이해할 수있을 것이다

photo_sometext_1 같은 파일 이름을합니다. 원하는 파일 이름을 전달해야합니다.

또는

좋은 접근 방법은 각 파일에 대해 encrypt_name을 만드는 것입니다. 이렇게 codeigniter는 업로드 된 각 파일에 대한 임의의 이름을 생성합니다.

사용 가능한 옵션은이 https://www.codeigniter.com/userguide3/libraries/file_uploading.html#preferences 문서를 참조하십시오.

0
$config['file_name'] = "sometext".$_FILES[$field_name]['name'].; 

완전히 이름을 바꾸려면 확장명을 캡처하고 제공하려는 이름에 추가해야합니다.

$config['file_name'] =" some text".$extension 

$extension 모양을 당신의 파일 확장이다.

0

난 그냥

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