CI 묻고 답하기

제목 파일 업로드 시 첨부 파일이 없어도 업로드 되게할 수 있을까요?
글쓴이 서슬기 작성시각 2015/03/23 14:17:26
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 13604   RSS
제목 그대로 첨부파일이 없이도 글 저장이 되게 할 수 있을까요? 
 if ( ! $this->upload->do_upload()) {
            $err = $this->upload->display_errors();
} else {
.......업로드..
}
현재 이렇게 되어있는데요. 유저들이 첨부파일 없이도 글을 쓸 수가 있어야되어서요.
에러 메시지 후 첨부파일 필드를 제외하고 업로드 하려고 하니 뭔가 스마트하지 못한거 같아서요.
empty? 인걸 체크하고 업로드 해버리면 될꺼 같은데 막상 구현하려하니 어려움이 있네요 
도움부 탁드립니다
 다음글 [완료] CI 에서 WHERE절에 공백을 체크하려 한다... (7)
 이전글 Not found (error to origin) 오류... (1)

댓글

수야디벨 / 2015/03/23 14:53:11 / 추천 0
VIEW 단의 INPUT FILE 에 onchange 함수를 걸어서 , 누군가 파일 업로드를 하려고 파일을 선택하게 되면 ,

hidden 필드로 값을 처리해 줍니다. 

그리고 컨트롤러에선 그 히든필러의 유무에 따라서 파일 업로드 루틴 or 아닌 루틴으로 분기시켜주는게 

좋을거 같은데요 ^^
한대승(불의회상) / 2015/03/23 15:05:08 / 추천 0
복잡하게 생각하지 말고 아래처럼 바꾸세요.
if ($this->upload->do_upload()) {
    .......업로드..
}
서슬기 / 2015/03/23 15:31:28 / 추천 0
답변 감사합니다. 
제가 설명이 부족했네요. 

1. 첨부파일이 있는데 에러가 발생시  $err = $this->upload->display_errors(); 으로 에러를 보여줘야 되고 
2. 첨부파일이 있고 에러가 없으면 정상적으로 업로드가 되어야 되고,
3. 첨부파일이 없으면 첨부파일만 제외하고 게시물이 작성되어야 됩니다. 
 
한대승(불의회상) / 2015/03/23 16:05:31 / 추천 0
그럼 이전 로직으로 되돌리시고 에러가 "You did not select a file to upload" 가 아니면 에러 처리 하시면 되겠군요.
서슬기 / 2015/03/23 16:46:35 / 추천 0
한대승님, 예. 일단 이전 로직으로 돌렸는데, 에러 upload_no_file_selected 즉, You did not select a file to upload
이녀석만 제외하고 어떻게 에러 처리를 하면 될까요? 

따로 지정? 혹은 조건문에 어떻게 처리를 하면 될까요?
한대승(불의회상) / 2015/03/23 17:00:02 / 추천 0
ㅎㅎㅎ
if (isset($_FILES[$field]))) {
 if ( ! $this->upload->do_upload()) {
      $err = $this->upload->display_errors();
 } else {
 .......업로드..
 }
}