CI 묻고 답하기

제목 궁금한것이 있습니다. 파일에 대해서
글쓴이 과학나라 작성시각 2013/10/01 16:57:28
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 13127   RSS
 
우선 파일첨부하면 첨부한 파일이 지정된 경로로 저장이 됩니다만 문제는 list에서 글제목 클릭시 view페이지에 해당 첨부된 파일을 저장하는 방법인데요.

소스를 보여드리자면

컨트롤러
 public function writepost()
 {
   $this->load->model('mcommon');  //모델 호출
   $this->mcommon->write_entry(); //쓰기
   
   
   
//파일첨부   
   // 사용자가 업로드 한 파일을 /static/user/ 디렉토리에 저장한다.
    $config['upload_path'] = './static/user';
    // git,jpg,png 파일만 업로드를 허용한다.
    $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("user_upload_file"))
  {
  echo $this->upload->display_errors();
  } 
else
{
$data = array('upload_data' => $this->upload->data());
$this->load->view('vOneToOneView',  array('return'=>$data));  <--
}
redirect('/cQuestion/fOneToOneList/'); //view list로 돌아가기
 }

쓰기 부분입니다. 일단   <-- 표시에 보시면 view페이지로 넘어가는 과정입니다.


view
<td>첨부파일</td>
<td><?=$return->user_upload_file?></td>
</tr>        
파일 name값 user_upload_file로 받는 과정(쓰기 view파일에 name값 user_upload_file로 지정)인데.


값을 불러올수 없다는 식으로 오류가 나오네요.

"Message: Undefined property: stdClass::$user_upload_file"


제가 간단한 실수를 범하고 있는거 같고 원리가 틀린거 같은데

도움 부탁드립니다.



































 다음글 pagenation관련 질문 (3)
 이전글 레이아웃 질문잇습니대 (2)

댓글

변종원(웅파) / 2013/10/01 17:07:11 / 추천 0
안되면 무조건 글을 올리시는 것 같습니다. 

왜 안되는지 화면에 출력을 해보세요.

뷰에서 var_dump($return); 을 출력해보세요.

컨트롤러에서 2차 배열을 다시 배열에 담아 넘겼으니 뷰에서 그렇게 쓰면 당연히 에러 납니다.

$data array('upload_data' => $this->upload->data());
$this->load->view('vOneToOneView',  array('return'=>$data);

작동 원리를 아직 잘 모르고 매뉴얼에 있는거 가져다 쓰기만 하니까 문제가 되는 겁니다.

$this->upload->data() 이 데이터도 화면에 출력 안해보셨죠? 뭐가 나오는지?
이거 자체가 2차원 배열입니다 그걸 다시 배열에 담아 $data에 할당하고 그걸 다시 배열로 $return에
할당하고.....

$data['file_data'] = $this->upload->data();
$this->load->view('vOneToOneView',  $data);

위와 같이 하고 뷰에서 var_dump($file_data); 출력해보세요.
그럼 어떻게 사용해야할지 답 나옵니다.


다시 말씀 드리는데 작업 중지하시고 매뉴얼 세번 정도 숙독하시고 작업하세요.

milosz / 2013/10/02 07:50:37 / 추천 0
 메뉴얼 보고 질문해주세요 :)