CI 묻고 답하기

제목 파일 업로드 질문드립니다.
카테고리 CI 2, 3
글쓴이 주말생각 작성시각 2020/11/06 10:05:49
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 9166   RSS

포럼 매뉴얼을 참고하면서 예제대로 파일 업로드를 성공 시켰고 이후 현재 연습 중인 게시판에 글쓰기 창에서 파일 업로드 기능을 추가 중입니다. 그런데 파일 업로드 버튼을 클릭하면 파일 업로드 기능을 담당하는 파일 업로드 컨트롤러의 함수로 가는 것이 아니라 제목과 내용을 받아서 글을 작성하는 함수로 이동하여 DB에 게시글이 추가 되더군요.

개발환경

코드이그나이터 3.0

하이디sql

압타나 스튜디오

* 글 작성 화면 폼에 네이버 스마트에디터 적용 중.

 

간단하게 뷰와 컨트롤러 소스를 올립니다.

<?php 

$attributes = array('method' => 'post', 'id' => 'myform'); 

echo form_open('Write', $attributes);

?>

<a>제목  :</a>

<input type="text" id="title" name="title" value="" />

<br>

<textarea id="content" name="content" style="height: 150px; width: 260px"></textarea>

<br>

<input type="submit" value="글쓰기" />

<input type="reset" value="취소" />

<?php form_close(); ?>

<br>

<?php echo form_open_multipart('Write/do_upload2');?>

<input type="file" name="userfile" size="20" />

<input type="submit" value="업로드" />

</form>

 

컨트롤러

public function do_upload2(){

echo "파일 업로드";  //  do_upload2로 오지 않아서  '파일 업로드'를 출력하지 않습니다.

exit;

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

  $config['allowed_types'] = 'gif|jpg|png';

  $config['max_size'] = '100';

  $config['max_width']  = '1024';

  $config['max_height']  = '768';

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

if ( ! $this->upload->do_upload())

{

   $error = array('error' => $this->upload->display_errors());

   $this->load->view('upload_form', $error);

}

else

{

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

   $this->load->view('upload_success', $data);

   }

}

 

 다음글 로그인 로그아웃 시간 저장 (2)
 이전글 $this->db 와 $this->load-... (1)

댓글

변종원(웅파) / 2020/11/06 10:18:13 / 추천 0

echo form_open('Write', $attributes);

<?php echo form_open_multipart('Write/do_upload2');?>

중복선언 되어 있습니다.

 

주말생각 / 2020/11/06 10:23:01 / 추천 0

죄송합니다 잘 이해가 가질 않습니다.

echo form_open('Write', $attributes); 폼의 경우, <?php echo form_open_multipart('Write/do_upload2');?> 앞에 닫히면서 별개가 되는 것 아닌가요? 경로도 다르고요. 그래서 <?php echo form_open_multipart('Write/do_upload2');?> 폼의 경로를 아예 다른 컨트롤러로도 해봤거든요.

중복 선언이면 폼의 중복 문제를 어떻게 해결하죠?

PureAni / 2020/11/06 10:41:30 / 추천 0

<?php form_close(); ?>

echo 가 없어서, 무시되고 있습니다.

즉, 첫번째 form 이 닫히지 않아서, 첫번째 form 의 영향하에 있다고 판단됩니다.

주말생각 / 2020/11/06 10:51:39 / 추천 0
감사합니다.