view 페이지에서 이미지 출력에 오류가 뜹니다. null 값이 어쩌구하는데 오류메세지가 안나오게 하고자 합니다.

view 페이지에서 이미지 출력에 오류가 뜹니다. null 값이 어쩌구하는데 오류메세지가 안나오게 하고자 합니다.

QA

view 페이지에서 이미지 출력에 오류가 뜹니다. null 값이 어쩌구하는데 오류메세지가 안나오게 하고자 합니다.

본문

아래처럼 view 페이지에서 첨부이미지를 바둑판식으로 출력하고자 합니다

집에 윈도우에 아파치설치하고 했을때는 잘되던것이 리눅스로 호스팅받으면서 많은것이 오류가 뜨네요..

view 페이지 이미지 출력소스입니다


<div   style="border:0px solid red">
    <?php
    // 파일 출력 -fancy Box 설정휘해 이미지 주소표현 형식을 변경함
    $v_img_count = count($view['file']);
    //echo $v_img_count;
    if($v_img_count) {
        echo "<div  class='grid'>\n";
            for ($i=0; $i<=$v_img_count; $i++) {
                $filename = $view['file'][$i]['file'];
                $filepath = G5_DATA_PATH.'/file/'.$bo_table;
                $filesrc = G5_DATA_URL.'/file/'.$bo_table.'/'.$filename;
                //$file_size = get_filesize($row[bf_filesize]);
                $thumb = thumbnail($filename, $filepath , $filepath , 400, 300, false, true);//썸네일 이용 안할시 주석
                $thumbsrc = G5_DATA_URL.'/file/'.$bo_table.'/'.$thumb;//썸네일 이용 안할시 주석
                if ($view['file'][$i]['view']) {?>
                    <div class="grid-item  text-center padding_box" style="border:0px solid red">
                        <!---echo get_view_thumbnail($view['file'][$i]['view']);//그누기본 팝업이미지 이용하려면 주석제거
                        //echo  $view['file'][$i]['view']; //그누기본 팝업이미지(위줄과 같음)
                        echo $view['file'][$i]['source'];//파일명--->
                            <a  data-fancybox='gallery'  href="<?php echo $filesrc; ?>" >
                                <?php if($v_img_count<=2){?>
                                    <img src="<?php echo $filesrc;?>" class='rounded-0 mx-auto d-block img-fluid  img-responsive' style="width:100%;height:100%" alt="<?php echo $filename;?>"><!----[이미지가 2개이하 일때 출력]원본이미지를 축소한것으로 가로세로 비율이 원본과 같다--->
                                <?php } else {?>
                                    <img src="<?php echo $thumbsrc; ?>" class='rounded-0 mx-auto d-block img-fluid' style="width:100%;height:100%" alt="<?php echo $filename;?>"><!---  [이미지가 3개 이상 일때 출력]//썸네일의 크기가 일정-이용하려면 위의 주석제거-->
                                <?php }?>
                                    <?//php echo $file_size?>
                                    <?//php echo $view['file'][$i]['content'] ?>
                            </a>
                    </div>
                <?php }
            }
        echo "</div>\n";
    }?>
</div>

아래는 오류내용입니다


Warning: Undefined array key 2 in /home1/dawayo/public_html/dawayo/theme/dw_bootstrap/include/page_view/view_img_packery.php on line 12
Warning: Trying to access array offset on value of type null in /home1/dawayo/public_html/dawayo/theme/dw_bootstrap/include/page_view/view_img_packery.php on line 12
Warning: Undefined array key 2 in /home1/dawayo/public_html/dawayo/theme/dw_bootstrap/include/page_view/view_img_packery.php on line 18
Warning: Trying to access array offset on value of type null in /home1/dawayo/public_html/dawayo/theme/dw_bootstrap/include/page_view/view_img_packery.php on line 18
Warning: Undefined array key 3 in /home1/dawayo/public_html/dawayo/theme/dw_bootstrap/include/page_view/view_img_packery.php on line 12
Warning: Trying to access array offset on value of type null in /home1/dawayo/public_html/dawayo/theme/dw_bootstrap/include/page_view/view_img_packery.php on line 12

오류가 출력되는 줄입니다

12번줄 : $filename = $view['file'][$i]['file'];

18번줄 : if ($view['file'][$i]['view']) {?>

 

엄청복잡해 보이는데 초보라 뭔내용인지 모르겠습니다

이 질문에 댓글 쓰기 :

답변 3

 $v_img_count = count($view['file']) -2; 

이게 맞습니다

 $v_img_count = count($view['file']); 이렇게 하면 배열에 $view['file']['count']라는 배열이 있어서

첨부 갯수보다 +1 된 값이 나옵니다

 

배열에서 공백된게 있나봐요 널 세이프 뜨는거보면 저 부분을 디버깅해서 확인해봐야되요


for ($i=0; $i<=$v_img_count; $i++) {

을 아래와 같이 수정해서 오류메세지는 없앤는데 옳은 방법은 아닌듯싶네요.. 

for ($i=0; $i<=$v_img_count -2 ; $i++) {

 
echo $v_img_count; 하니 이미지를 두개 올렸는데 값이 3이나오네요...뭐가 이상하네요

 

 


 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,527 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT