테스트 사이트 - 개발 중인 베타 버전입니다

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

카산 2년 전 조회 1,971

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

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

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

</p>

<p><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'];//파일명---></p>

<p>                            <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 }</p>

<p>            }

        echo "</div>\n";

    }?>

</div></p>

<p>

아래는 오류내용입니다

</p>

<p><b>Warning</b>: Undefined array key 2 in <b>/home1/dawayo/public_html/dawayo/theme/dw_bootstrap/include/page_view/view_img_packery.php</b> on line <b>12</b>



<b>Warning</b>: Trying to access array offset on value of type null in <b>/home1/dawayo/public_html/dawayo/theme/dw_bootstrap/include/page_view/view_img_packery.php</b> on line <b>12</b>



<b>Warning</b>: Undefined array key 2 in <b>/home1/dawayo/public_html/dawayo/theme/dw_bootstrap/include/page_view/view_img_packery.php</b> on line <b>18</b>



<b>Warning</b>: Trying to access array offset on value of type null in <b>/home1/dawayo/public_html/dawayo/theme/dw_bootstrap/include/page_view/view_img_packery.php</b> on line <b>18</b>



<b>Warning</b>: Undefined array key 3 in <b>/home1/dawayo/public_html/dawayo/theme/dw_bootstrap/include/page_view/view_img_packery.php</b> on line <b>12</b>



<b>Warning</b>: Trying to access array offset on value of type null in <b>/home1/dawayo/public_html/dawayo/theme/dw_bootstrap/include/page_view/view_img_packery.php</b> on line <b>12</b></p>

<p>

오류가 출력되는 줄입니다

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

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

 

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

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
2년 전

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

이게 맞습니다

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

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

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

카산
2년 전
감사합니다

댓글을 작성하려면 로그인이 필요합니다.

카산
2년 전
for ($i=0; $i<=$v_img_count; $i++) {</code></pre>

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

<pre>
<code>for ($i=0; $i<=$v_img_count -2 ; $i++) {</code></pre>

<p> </p>

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

<p><code>

 

 


 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

카산
2년 전
이미지 출력은 잘 되는데 ~~~~오류메세지가 뜨네요
리오닥터
2년 전
아~ 그러면 php 버전을 낮춰보세요
아니면 에러 리포트 쪽을 확인해보세요.
/common.php 에보면 error_reporting 함수 있어요 여기꺼 를 보여주세요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인