CI 묻고 답하기

제목 배열값 가져오기
글쓴이 작성시각 2014/09/09 09:36:59
댓글 : 10 추천 : 0 스크랩 : 0 조회수 : 23774   RSS
Array(
            [0] => Array(
                [file_name] => file_1.jpg
                [file_type] => image/jpeg
                [file_path] => /path/to/file/
                [full_path] => /path/to/file/file_1.jpg
                [raw_name] => file_1
                [orig_name] => file_1.jpg
                [client_name] => file_1.jpg
                [file_ext] => .jpg
                [file_size] => 2182.91
                [is_image] => 1
                [image_width] => 1024
                [image_height] => 768
                [image_type] => jpeg
                [image_size_str] => width="1024" height="768"
            )

            [1] => Array(
                [file_name] => file_2.jpg
                [file_type] => image/jpeg
                [file_path] => /path/to/file/
                [full_path] => /path/to/file/file_2.jpg
                [raw_name] => file_2
                [orig_name] => file_2.jpg
                [client_name] => file_2.jpg
                [file_ext] => .jpg
                [file_size] => 67.58
                [is_image] => 1
                [image_width] => 1024
                [image_height] => 768
                [image_type] => jpeg
                [image_size_str] => width="1024" height="768"
            )

            [2] => Array(
                [file_name] => file_3.jpg
                [file_type] => image/jpeg
                [file_path] => /path/to/file/
                [full_path] => /path/to/file/file_3.jpg
                [raw_name] => file_3
                [orig_name] => file_3.jpg
                [client_name] => file_3.jpg
                [file_ext] => .jpg
                [file_size] => 517.97
                [is_image] => 1
                [image_width] => 1024
                [image_height] => 768
                [image_type] => jpeg
                [image_size_str] => width="1024" height="768"
            )
        )
이 배열에서 file_name만 가져와서 view페이지에 나오게 하고 싶은데 어떻게 해야될지 모르겠습니다.
아시는분 알려주시면 감사하겠습니다. 이걸로 몇일을 헤메고 있는지.....TT
 다음글 count(*) 출력에 관해서 질문드립니다. (2)
 이전글 MS SQL 연결이 되지 않는것 같습니다. (1)

댓글

변종원(웅파) / 2014/09/09 10:08:24 / 추천 0
$array[0]['file_name']
숫자를 1, 2로 바꾸면 2번째 세번째에 해당하는 값도 가져옵니다.
구글에서 php배열 검색해서 공부하세요.



 
/ 2014/09/09 13:33:32 / 추천 0
답변 감사드립니다. 제가 질문을 너무 짧게만 해서 정확한 질문이 전달되지 않은 것 같습니다. 죄송합니다.

뷰파일
$this->load->view('dd3homeregisterview',array('error' => '', 'data' => ''));

컨트롤러
public function dd3imgregister()
    {
        $config['upload_path'] ='./static/user';
  $config['allowed_types'] = 'gif|jpg|png';
  $config['max_size'] = '100';
  $config['max_width']  = '1024';
  $config['max_height']  = '768';
  
  $this->load->library('upload', $config);
        $this->load->library('MY_Upload', $config);
        
  if(!$this->upload->do_multi_upload("files"))
  {
   $error = array('error' => $this->upload->display_errors('<p>','</P>'));
            $this->load->view('dd3homeregisterview', $error);
  } 
  else
  {
            $data = $this->upload->get_multi_upload_data();
            
            $this->load->view('dd3homeregisterview', $data);
  }
    }

뷰파일에서 이미지 출력부분
<!--php 파일 업로드-->
        <div class="fotorama" data-width="250" data-height="200" data-nav="thumbs" data-allowfullscreen="true" data-fit="cover">
      
        <?php for($row=0; $row<4; $row++) 
              {
                if(isset($data[$row]['file_name'])) 
                {
                  echo '<img src="/static/user/'.$data[$row]['file_name'].'" alt="부동산 이미지"/>';
                }
              }      
                ?>

뷰파일에서 받은 이미지를 컨트롤러로 넘기고 넘긴파일을 처리해서 뷰파일에서 이미지가 출력되게 하려는데 쉽지가 않네요...
이미지는 4개만 한정해서 받으려고 하고 있습니다. 어떻게 해야 될까요...TT 
제발 알려주세요.... 

darkninja / 2014/09/09 15:45:06 / 추천 0
질문 하시는 분도 답답하고
보는 사람도 답답하고 ;;;

스무고개를 해보셨나요?

ci 가 왜 쉬울거라는 인식이 있는지...
기본적인 웹프로그래밍 실력이 있어야 가능한데...

질문하신분의 정확한 실력을 모르니
섣불리 댓글을 달면 서로 기분이 상할수도 있고
질문하신분 만큼 보는 사람도 답답하답니다.
CI_ORL / 2014/09/10 11:02:33 / 추천 0
$this->load->view('dd3homeregisterview',array('error' => '', 'data' => ''));

음? 
$this->load->view('dd3homeregisterview',array('error' =>$this->upload->display_errors('<p>','</P>'), 'data' => $this->upload->get_multi_upload_data()));

이게 아닌가요??

부를 때 부터 data 값이나,  error 값일 null 이라 지칭하셔 놓고...
값이 안찍힌다 하면;;흠...
CI_ORL / 2014/09/10 11:04:42 / 추천 0
그리고 이미지 4개만 받고 싶으시면  $this->upload->get_multi_upload_data()  부분에서 limit 하시면 될텐데..
/ 2014/09/10 20:24:40 / 추천 0
제가 php하고 codeigniter는 완전 초보라 아직 많이 미숙합니다. codeigniter를 배우면 php를 쉽게 적용할 수 있다고 해서 배우기 시작했는데 정말 헷갈리네요... TT ... 미숙한 제 질문에 답변해 주셔서 CI_ORL님 정말 감사합니다. view에서 array 부분을 바꾸니 문제없이 작동합니다. 근데 limit 을 어떻게 적용해야 되는지 아무리 찾아도 안나오네요.. database에서 쓰는 방법이 있는건 메뉴얼에서 봤는데 $this->upload->get_multi_upload_data()여기에 어떻게 적용해야될지 모르겠습니다. TT...
darkninja / 2014/09/10 20:40:08 / 추천 0
많이 답답하시겠지만
스스로 검색해서 해결하는걸 열번이상 반복하시면
어떤 문제라도 해결할 길이 보입니다.

문제 해결순서를 글로서 종이에 적어 보세요!
그리고 그 순서대로 하나하나 해결해 나가면
문제가 풀립니다.

처음에는 느리지만 차츰 빨라진답니다.
자신을 믿으세요^^

php html css mysql 다 알으셔야
codeigniter 를 쉽게 배울수 있습니다.
darkninja / 2014/09/10 21:03:56 / 추천 0
http://php.net/manual/en/function.array-slice.php
$data = $this->upload->get_multi_upload_data();
$data = array_slice($data, 0, 4);
$this->load->view('dd3homeregisterview', $data);
간단하게는 위와 같이하시면 될거 같은데요...

http://stackoverflow.com/questions/6556460/file-input-problems-limit-number-of-selected-files
$('fileinput').onchange=function(){if(this.files.length>10)alert('to many files')}
//prevent submitting if to many
$('form').onsubmit=function(){if(this.files.length>10)return false;}

파일선택 단계에서 갯수를 제한하시려면 
이걸 조금 변형해서 하시면 되겠네요.
darkninja / 2014/09/10 22:23:41 / 추천 0
 
function history_goback_msg($msg) {
 echo '<script type="text/javascript">';
 echo 'alert("' . $msg . '");';
 echo 'history.go(-1);';
 //echo 'return false';
 echo '</script>';
 exit; 
}

public function dd3imgregister() {
 if (count($_FILES["files"]["tmp_name"]) > 4) {
  history_goback_msg("너무 많은 파일을 선택하셨습니다.".count($_FILES["files"]["tmp_name"])); 
 }

 
} 
/ 2014/09/11 00:19:26 / 추천 0
darkninja님 정말 감사합니다. 이렇게 친절하게 설명해 주시다니....^^
변종원(웅파)님과 CI_ORLdarkninja님의 도움으로 완전히 문제 해결했습니다. 
다시한번 감사드립니다. 복받으세요.... ^^