| 제목 | upload download | ||
|---|---|---|---|
| 글쓴이 | 피자한판두판 | 작성시각 | 2012/07/13 13:47:36 | 
|  | |||
| 
public function file_down()
 {
  $this->load->helper('download');
  $this->load->model('files_model');
  
  $filename = $this->uri->segment(3,0);
  $fname = $this->files_model->download_files($filename);
  
  force_download($fname, $filename);
  //print_r($fname);
  //echo $filename;
  
 }윗 부분은 Controller
 public function download_files($filename)
 { 
      
   return $fname = $this->db->select()
      ->from('files')
      ->where('title = "'.$filename.'" ')
      ->get()
      ->result();
//   print_r($fname);
 }윗 부분은 Model
<?php
if (isset($files) && count($files))
{
 ?>
  <ul>
   <?php
   foreach ($files as $file)
   {
    ?>
    <li class="image_wrap">
     <a href="#" class="delete_file_link" data-file_id="<?php echo $file->id?>">Delete</a>
     <strong><?php echo $file->title?></strong>
     <br />
     <a href="/upload/file_down/<?=$file->title?>"><?php echo $file->filename?></a>
    </li>
    <?php
   }
   ?>
  </ul>
 </form>
 <?php
}view부분입니다.해외 사이트 참고하여 upload부분까지는 됐는데요 테이블에 id값이 있지만 일단 데이터 하나만 넣어서 이름으로 다운로드가 되는지 테스트해보고있었는데요 download는 제가 생각한대로 추가한겁니다. db에서 가져올때 저렇게 가져올려고하니 Message: Array to string conversion Filename: helpers/download_helper.php에러가 나더라구여 그래서 $fname을 implode해서 title만뽑으려고 echo를했는데 Object of class stdClass could not be converted to string에러가 뜨던데 오브젝트클래스는 무슨 스트링형으로 변환할수없다?이건거같은데 어떻게 해결해야하나여?? 
public function download_files($filename)
 { 
      
   return $fname = $this->db->select()
      ->from('files')
      ->where('title = "'.$filename.'" ')
      ->get()
      ->result();
//   print_r($fname);
 }
 | |||
| 다음글 | session, 툴 (1) | ||
| 이전글 | Load Library 의 메모리 문제 (6) | ||
| 
                                변종원(웅파)
                                /
                                2012/07/13 14:08:09 /
                                추천
                                0
                             | 
| 
                                피자한판두판
                                /
                                2012/07/13 14:11:00 /
                                추천
                                0
                             
                                웅파 //  답변 감사합니다 배열로 찍으니 나오는 건 알았는데 저걸 배열이 아닌 String으로 넣어야 되잖아요 ? 그래서 implode했는데 저런 에러가 나와서 아직 해결을 못하고 있네요 implode가 아닌 다른걸 써야하나여? implode해서 echo찍어봐도 저 에러가 나오더라구요 print_r은 배열이 아니니 값이 뜨질않구요 | 
| 
                                한대승(불의회상)
                                /
                                2012/07/13 14:32:40 /
                                추천
                                0
                             
                                 Object 를  Array로 바꿔 보세요. 
public function download_files($filename)
 { 
      
   return $fname = $this->db->select()
      ->from('files')
      ->where('title = "'.$filename.'" ')
      ->get()
      ->result_array();
//   print_r($fname);
 } | 
| 
                                피자한판두판
                                /
                                2012/07/13 14:39:24 /
                                추천
                                0
                             
                                불의회상// 답변 감사합니다 2주조금 넘은 회사 신입인데.. 개인 공부하면서 아무것도 모르고 묻기가 좀 그랬었는데 사수가 도와줬습니다 $fname을 한 값을 $fname[0]->컬럼값으로 지정하니 데이터를 불러올수있더군요 그런데.. force_download에 값만 넣어주면 될줄알았는데 여전히 안되네요 ;;; ///아.. 아니다 echo찍어서 실행 우선순위? 가 뒤바껴서 에러난거였습니다 해결됐습니다. 웅파, 불의회상님 답변 감사드립니다. | 
| 
                                꾸숑
                                /
                                2013/05/11 20:50:14 /
                                추천
                                0
                             
                                덕분에 공짜로 넘어가네요... 매뉴얼이 조금 부실한 면이 있어서 고민 하던차에... 게시글 읽고 한방에 성공 했네요 ^^ 감사합니다. 모두들... | 
모델에서 반환된 $fname을 print_r로 찍어보세요