CI 묻고 답하기

제목 다중파일업로드 질문입니다.
카테고리 CI 2, 3
글쓴이 LIA 작성시각 2017/07/17 10:01:18
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 14496   RSS

안녕하세요 늘 질문만해서 죄송합니다.

 

현재 다중파일 업로드를 만들려고 하는데, 

현재 사용되고있는 업로드방식이 배열을 통해 업로드를 진행하는것 같습니다.

 

근데 제가하고싶은건 각자의 다른파일을 각각 2번씩 업로드하는것입니다.

 

예를들자면..

 

<input type="file" name="music">

<input type="file" name="musicalnote">

 

이런식으로 name이 다른 음악파일과 악보파일이 있습니다.

music파일은 mp3파일만 업로드가 가능하고, musicalnote파일은 bmp, jpeg, gif가 업로드가 가능합니다.

 

저것들을 컨트롤러에서 받아

 

$_FILES['music']['tmp_name']

$_FILES['musicalnote']['tmp_name']

 

이렇게 두개의 파일로 저장하여

 

각각의 allowed_types을 지정하여 업로드 할 수 있나요?

 

많은 가르침 부탁드립니다!

 

 

 다음글 CI email 한글 인코딩 관련 질문 드립니다. (1)
 이전글 Controller 및 Model 확장방법 (2)

댓글

kaido / 2017/07/17 10:03:08 / 추천 0

네 가능합니다

예상하신 대로 코딩 하시면 되실것 입니다

LIA / 2017/07/17 10:08:43 / 추천 0

kaido님 답변 감사합니다.

제가 업로드방식을 잘 이해못해서요..

제가 생각한 방식대로라면

---

음악파일

$config['upload_path'] = './uploads/';

$config['allowed_types'] = 'mp3';
$this->load->library('upload',$config);
----
악보파일
$config['upload_path'] = './uploads/';
$config['allowed_types'] = '*';
$this->load->library('upload',$config);
 
이런식으로 업로드를 두번 진행하려고 했는데,
업로드를 할때, library가 form내에 있는 파일중
어떤 파일을 업로드 하는지 잘 모르겠습니다.
어떻게 구분할 수 있을까요?
kaido / 2017/07/17 10:24:13 / 추천 0

이렇게 생각 하시면 편합니다.

print_r($_FILES);

때려보시면 어떤 정보들이 들어가 있는지 확인 하실 수 있습니다.

 

파일업로드 태그를 사용하면 서버 어딘가에는 temp 파일로 저장이 됩니다.

이걸 파일명으로 upload 를 2번 따로 호출 한다고 생각 하시면 됩니다.

LIA / 2017/07/17 10:47:01 / 추천 0

kaido님 답변 감사합니다.

print_r($_FILES);를 쳐봤는데

각각의 파일정보가 Array로 들어있는것을 확인했습니다.

이것을 어떤방식으로 upload를 2번 따로 호출하는지가 궁금합니다.

$this->load->library('upload') 부분이 제가생각하는 업로드 호출부분인데

예제를 찾아볼때 이부분에서 어떤식으로 파일을 불러오는지 이해를 못하겠습니다..

LIA / 2017/07/17 11:09:34 / 추천 0

메뉴얼을 좀 더 읽다보니 do_upload가 실제로 업로드하는 부분이고

그부분에 array를 넣어야된다는걸 알았습니다.

kaido님 답변 감사합니다!!