CI 묻고 답하기

제목 파일업로드 _2
글쓴이 작성시각 2013/09/05 13:41:38
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 13123   RSS
$upload_data = $this->upload->data();


컨트롤페이지에서는
, $upload_data); 와 같이 넘겼고


model 페이지에서는
, $upload_data){ 로 받았습니다.



DB에 인서트 시킬때
$this->db->insert('tbaord1',  array(
   'subject'=>$subject,
   'name'=>$name,
   'contents'=>$contents,
   'upfile'=>$upload_data[file_name], //압호화된 파일명   9f4330d5eadca4743.jpg
   'userfilename'=>$upload_data[orig_name] //작성자가 올린 실제 파일명 가나다라.jpg
  ));


DB에 저장된 모습
번호     2306 22 2013-09-05 22 22 f39f4330d5eadca4743253403757106e.jpg 11월10일.jpg



이렇게 적었는데
DB에도 잘 들어가고
파일도 잘 업로드 되어서 기능상의 이상은 없는데..


=======================================
아래와 같은 에러문구가 뜹니다.
orig_name 도 마찬가지구요.



A PHP Error was encountered

Severity: Notice

Message: Use of undefined constant file_name - assumed 'file_name'

Filename: models/tboard1_model.php

Line Number: 22



 'upfile'=>$upload_data[file_name],
이게 22라인 내용입니다.
 다음글 페이지에 관해서 질문입니다. (2)
 이전글 페이지 로딩시간이 1초 이상 걸립니다. (21)

댓글

수야디벨 / 2013/09/05 14:41:41 / 추천 0
파일 업로드도 잘 되고, db저장도 잘 되시면, 기능상엔 문제가 없는건 맞는거 같고 ..

file_name이 오류가 난거면, 코드를 잘못 적으신거 아닌가요?

만약에 커스텀 없이 파일 올리기를 했다고 가정하면,

$this->upload->do_upload(); 이런 업로드 과정 후에

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

이렇게 $upload_data로 변수를 받아야만 

$upload_data[file_name] 라는 값을 사용할 수 있어요.

그랬는데도 안되는거면 .. 이상하네요 .

안될 수가 없는데 , 안되는거니 .. 제 수준에선 위의 가정 말고 다른 걸 생각할 수가 없군요 ;


/ 2013/09/05 14:43:12 / 추천 0

제가 적은 내용의 첫줄에 있는 내용을 말씀하시는것 아닌가요?
그렇게 해서 받은 변수를 넘기고, 받아서 이상없이 저장이 되고 있어요.


이상이 있어어 Notice가 뜨는거라면 저장이 안되어야하는데 말이죠...
DB엔 저장도 잘되는데...

수야디벨 / 2013/09/05 14:46:51 / 추천 0

그러면 모델에 넘기기 전에 ,

변수로 저장하시고 넘겨 보세요 ~

$upload_data를 모델로 바로 던지는게 아니라

컨트롤에서 $file_name = $upload_data['file_name'] 으로 변수에 받으시고,

그 다음에 모델로 $file_name 을 넘겨보세요. 
/ 2013/09/05 14:50:08 / 추천 0
뭔가 문법적인 오류를 범하고 있는듯 싶은데...하악!!!
수야디벨 / 2013/09/05 14:54:21 / 추천 0
 원랜 되야 되요 ~ㅋ 

 제 생각에는 그냥 $upload_data를 모델에 넘겨서 사용하려고 해서 오류가 난게 아닌가 싶은데,

 모델에 넘기기전에 컨트롤에서는 $upload_data['file_name'] 이 찍히나 부터 확인해 보세요.

 만약 여기서 찍히지 않으면 , 코드를 잘못 쓰신게 백퍼센트고요 

 그대로 안되면, 메뉴얼에 나와 있는데로 가장 베이스 폼 부터 실습 하시면서 본인꺼랑 뭐가 다른지 찾아내는 수밖에 ..
/ 2013/09/05 14:59:10 / 추천 0

깜놀..ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ


$upload_data['file_name']
작은따옴표 안넣고
그냥 [file_name] 으로 했었거든요...
일할때야 넣지만 지금은 공부중이라 귀찮다고 안넣었는데 거기서 Notice뜬건가봐요

작은따옴표 넣었더니 에러 사라짐. ㅋㅋ 아놔~~~~~~~~~~~~~~~ ㅎ

수야디벨님 힘이되어주셔서 감사합니다..ㅋㅋ
휴~ 한고비 넘김.