Division by zero in 이 에러 해결책 좀 부탁드립니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

Division by zero in 이 에러 해결책 좀 부탁드립니다. 정보

Division by zero in 이 에러 해결책 좀 부탁드립니다.

본문

사이트 개설한지 약 2년여간 별 에러 없이 운영해 왔는데 갑자기 view 페이지에서 아래와 같은 에러가 발생하네요.
  에러내용--------------------------------------------
Warning
: Division by zero in /home/hosting_users/********/www/skin/board/hk_board02/view.skin.php on line 298
------------------------------------------


298 라인은  해당줄에    <------------298 로 표시해두었습니다.
고수님들 해결책좀 부탁드립니다.


<<view.skin.php 파일 소스>>-----------------------------------------

 <?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<link rel='stylesheet' type='text/css' href='<?=$board_skin_path?>/bstyle.css'>


<!-- [참고] 옵션필드 --//-->
<?

$ex1_filed = explode("|",$view[wr_1]);
$ext1_00  = $ex1_filed[0];
$ext1_01  = $ex1_filed[1];
$ext1_02  = $ex1_filed[2];

$ex3_filed = explode("|",$view[wr_3]);
$ext3_00  = $ex3_filed[0];
$ext3_01  = $ex3_filed[1];
$ext3_02  = $ex3_filed[2];
$ext3_03  = $ex3_filed[3];


if ($member[mb_level] >= '2') { // 회원만 열람가능

$view[wr_email]; // 이메일

$ex5_filed = explode("|",$view[wr_5]); //전화,핸드폰

 $view_TEL = $ex5_filed[0] ."-". $ex5_filed[1] ."-".$ex5_filed[2];
 $view_HP  = $ex5_filed[3] ."-". $ex5_filed[4] ."-".$ex5_filed[5];

} else {
$view[wr_email]; // 이메일

$ex5_filed = explode("|",$view[wr_5]); //전화,핸드폰

 $view_TEL = $ex5_filed[0] ."-". $ex5_filed[1] ."-".$ex5_filed[2];
 $view_HP  = $ex5_filed[3] ."-". $ex5_filed[4] ."-".$ex5_filed[5]; 
   
/*$view[wr_email] = "Member Only";

$ex5_filed = explode("|",$view[wr_5]);
 $view_TEL = "Member Only";
 $view_HP  = "Member Only";*/
}

$ex6_filed = explode("|",$view[wr_6]);
$ext6_00  = $ex6_filed[0];
$ext6_01  = $ex6_filed[1];
$ext6_02  = $ex6_filed[2];

$ex7_filed = explode("|",$view[wr_7]);
$ext7_00  = $ex7_filed[0];
$ext7_01  = $ex7_filed[1];
$ext7_02  = $ex7_filed[2];
/*$ext7_00  = number_format(($ex7_filed[0])*10000);
$ext7_01  = number_format(($ex7_filed[1])*10000);
$ext7_02  = number_format(($ex7_filed[2])*10000);*/

$ex8_filed = explode("|",$view[wr_8]);
/*$ext8_00  = number_format(($ex8_filed[0])*10000);*/
$ext8_00  = $ex8_filed[0];
$ext8_01  = $ex8_filed[1];

?>
<!-- [참고] 옵션필드 --//--> 


<!----------- { 레이아웃 테이블 시작 } -------------------------------------//-->
<table width="<?=$width?>" align="center" cellpadding="0" cellspcing="0">
  <tr>
    <td><!-- 링크 버튼 -->
        <?
ob_start();
?>
        <table width='100%' cellpadding=0 cellspacing=0>
          <tr height=35>
            <td width=75%><? if ($search_href) { echo "<a href=\"$search_href\"><img src='$board_skin_path/img/btn_search_list.gif' border='0' align='absmiddle'></a> "; } ?>
                <? echo "<a href=\"$list_href\"><img src='$board_skin_path/img/btn_list.gif' border='0' align='absmiddle'></a> "; ?>
                <? if ($write_href) { echo "<a href=\"$write_href\"><img src='$board_skin_path/img/btn_write.gif' border='0' align='absmiddle'></a> "; } ?>
                <? if ($reply_href) { echo "<a href=\"$reply_href\"><img src='$board_skin_path/img/btn_reply.gif' border='0' align='absmiddle'></a> "; } ?>
                <? if ($update_href) { echo "<a href=\"$update_href\"><img src='$board_skin_path/img/btn_update.gif' border='0' align='absmiddle'></a> "; } ?>
                <? if ($delete_href) { echo "<a href=\"$delete_href\"><img src='$board_skin_path/img/btn_delete.gif' border='0' align='absmiddle'></a> "; } ?>
                <? if ($good_href) { echo "<a href=\"$good_href\" target='hiddenframe'><img src='$board_skin_path/img/btn_good.gif' border='0' align='absmiddle'></a> "; } ?>
                <? if ($nogood_href) { echo "<a href=\"$nogood_href\" target='hiddenframe'><img src='$board_skin_path/img/btn_nogood.gif' border='0' align='absmiddle'></a> "; } ?>
                <? if ($scrap_href) { echo "<a href=\"javascript:;\" onclick=\"win_scrap('./scrap_popin.php?bo_table=$bo_table&wr_id=$wr_id');\"><img src='$board_skin_path/img/btn_scrap.gif' border='0' align='absmiddle'></a> "; } ?>
                <? if ($copy_href) { echo "<a href=\"$copy_href\"><img src='$board_skin_path/img/btn_copy.gif' border='0' align='absmiddle'></a> "; } ?>
                <? if ($move_href) { echo "<a href=\"$move_href\"><img src='$board_skin_path/img/btn_move.gif' border='0' align='absmiddle'></a> "; } ?>
            </td>
            <td width=25% align=right><? if ($prev_href) { echo "<a href=\"$prev_href\" title=\"$prev_wr_subject\"><img src='$board_skin_path/img/btn_prev.gif' border='0' align='absmiddle'></a> "; } ?>
                <? if ($next_href) { echo "<a href=\"$next_href\" title=\"$next_wr_subject\"><img src='$board_skin_path/img/btn_next.gif' border='0' align='absmiddle'></a> "; } ?>
            </td>
          </tr>
        </table>
      <?
$link_buttons = ob_get_contents();
ob_end_flush();
?>
        <!--################################ 옵션 필드추가 ##########################################-//-->
        <table width="100%" align="center" cellpadding=5 cellspacing=0 border=0 style='border-bottom:1px solid #cccccc'>
          <tr>
            <td width=120 style='padding-left:7px;'> 
                <!--빈공백--//-->
            </td>
            <td width='' align='right'style='padding-right:5px;'> <span class='v1'>Name :</span>
                <?=$view[name]?>
                <? if ($is_ip_view) { echo " <span class='v2'>($ip)</span>"; } ?>
                <span class='v1'>Date:</span><span class='v2'>
                <?=substr($view[wr_datetime],2,14)?>
                </span>  <span class='v1'>조회</span><span class='v2'> (
                  <?=$view[wr_hit]?>
                  )</span>
              <? if ($is_good) echo " <span class='v1'>Good</span><span class='v2'> ($view[wr_good])";?>
              <span class='v1'></span>
              <? if ($is_nogood) echo " <span class='v1'>Bad</span><span class='v2'> ($view[wr_nogood])";?>
              <span class='v1'></span> </td>
          </tr>
        </table>
      <table>
        <tr>
          <td height=1></td>
        </tr>
      </table>
      <!---- {상단 레이아웃 테이블} --//-->
        <table width='100%' align='center' cellpadding=0 cellspacing=0 border=0>
          <tr>
            <td bgcolor='cccccc'><!---- {상단 레이아웃 테이블} --//-->
                <table width='100%' align='center' cellpadding=2 cellspacing=1 border=0 style='border:1px solid #cccccc'>
                  <colgroup width='20%' nowrap>
                  <colgroup width='30%'>
                  <colgroup width='20%' nowrap>
                  <colgroup width='30%'>
   <tr height="24">
                    <td class='b_tit2 b_bg2'> + 모집지역/제목글</td>
                    <td colspan=3 bgcolor='#FFFFFF'' style='padding-left:5px; padding-right:5px;'><? // 아이콘출력
        if ($view[is_notice]) { echo "<img src=\"$board_skin_path/img/icon_level01.gif\" width=15 height=15 align='absmiddle'>"; }
        else if ($view[wr_1] == "2") { echo "<img src=\"$board_skin_path/img/icon_level02.gif\" width=15 height=15 align='absmiddle'>"; }
        else { echo ""; }
  ?>
                        <? if ($is_category) { echo ($category_name ? "<span class='v3'>[{$view[ca_name]}]</span>" : ""); } ?>
                      /<b>
                        <?=$view[subject]?>
                        </b> 
                      <!-- // 거래관련 아이콘 출력 --//-->
                      <? if($view[wr_9] == "on")  {echo "<img src='{$board_skin_path}/img/icon_on.gif' border='0' width='47' height='16' align='absmiddle'>"; } ?>
                      <? if($view[wr_9] == "off") {echo "<img src='{$board_skin_path}/img/icon_off.gif' border='0' width='47' height='16' align='absmiddle'>";} ?>
                    </td>
                  </tr>
      <tr height="24">
                    <td class='b_tit2 b_bg2'> + 회사주소</td>
                    <td colspan=3 bgcolor='#FFFFFF'' style='padding-left:5px; padding-right:5px;'><span class='v3'>[
                          <?=$ext3_02?>]</span> <?=$ext3_03?></td>
                  </tr>  
                  <tr height="24">
                    <td class='b_tit2 b_bg2'> + 회사명</td>
                    <td bgcolor='#FFFFFF'' style='padding-left:5px; padding-right:5px;'><b>
                    <?=$ext7_00?></b></td>
      <td class='b_tit2 b_bg2'> + 담당자성명</td>
                    <td bgcolor='#FFFFFF'' style='padding-left:5px; padding-right:5px;'><?=$ext7_01?></td>
                  </tr>
                
                  <tr height="24">
                    <td class='b_tit2 b_bg2'> + 모집부문</td>
                    <td bgcolor='#FFFFFF'' style='padding-left:5px; padding-right:5px;'> [
                        <?=$ext6_00?>
                      ] 추가(<span class='v3'>
                        <?=$ext6_01?>
                      </span>)</td>
                    <td class='b_tit2 b_bg2'> + 모집인원</td>
                    <td bgcolor='#FFFFFF'' style='padding-left:5px; padding-right:5px;'><?=$ext6_02?>
                      명</td>
                  </tr>
                  <tr height="24">
                    <td class='b_tit2 b_bg2'> + 문의전화번호</td>
                    <td bgcolor='#FFFFFF'' style='padding-left:5px; padding-right:5px;'> T. <span class=v1>
                      <?=$view_TEL?>
                      </span>  H. <span class=v1>
                        <?=$view_HP?>
                      </span> </td>
                    <td class='b_tit2 b_bg2'> + 담당자E-Mail</td>
                    <td bgcolor='#FFFFFF'' style='padding-left:5px; padding-right:5px;'><span class=v1>
                      <?=$view[wr_email]?>
                    </span></td>
                  </tr>
                 
<!----
  <tr height="24">
    <td class='b_tit2 b_bg2'> + 보/월/권</td>
    <td colspan=3 bgcolor='#FFFFFF'' style='padding-left:5px; padding-right:5px;'>
 보증금 : <span class='v3'><?=$ext7_00?></span>원 / 월임대료 : <span class='v3'><?=$ext7_01?></span>원 / 권리금 : <span class='v3'><?=$ext7_02?></span>원</td>
  </tr>
---->
                  <tr height="24">
                    <td class='b_tit2 b_bg2'> + 월비(or월급)</td>
                    <td  bgcolor='#FFFFFF'' style='padding-left:5px; padding-right:5px;'><span class='v3'>
                      [<?=$ext8_00?>]
                    </span>만원</td>
                    <td class='b_tit2 b_bg2'> + 픽업단위(지역)</td>
                    <td bgcolor='#FFFFFF'' style='padding-left:5px; padding-right:5px;'><span class='v3'>[
                          <?=$ext8_01?>
                      ]</span></td>
                  </tr>
       <tr height="24">
                    <td class='b_tit2 b_bg2'> + 회사HOME</td>
                    <td colspan=3 bgcolor='#FFFFFF'' style='padding-left:5px; padding-right:5px;'>
     <?
// 링크(홈페이지)
$cnt = 0;
for ($i=1; $i<=$g4[link_count]; $i++) {
    if ($view[link][$i]) {
        $cnt++;
        $link = cut_str($view[link][$i], 70);
        echo <<<HEREDOC
          <a class='b_link' href="{$view[link_href][$i]}" target="_blank"><b>{$link}</b></a> <span class='v2'>({$view[link_hit][$i]})</span>
HEREDOC;
    }

?>
                    </td>
                  </tr>
                </table>
              <!---- {하단 레이아웃 테이블} --//-->
            </td>
          </tr>
        </table>
      <!---- {하단 레이아웃 테이블} --//-->
        <table width='100%'>
          <tr>
            <td height='5'></td>
          </tr>
        </table>
      <!--######################## 옵션 필드추가 끝 ########################--//-->
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <?
// 가변 파일
$cnt = 0;
for ($i=0; $i<count($view[file]); $i++) {
    if ($view[file][$i][source] && !$view[file][$i][view]) {
        $cnt++;
        echo <<<HEREDOC
        <tr height=28><td>  <span class='v1'>FILE #{$cnt} :</span> <a class='v1' href='{$view[file][$i][href]}' title='{$view[file][$i][content]}'>{$view[file][$i][source]} </a> <span class='v2'>({$view[file][$i][size]}), Down:{$view[file][$i][download]}, {$view[file][$i][datetime]}</span></td></tr>
  <tr><td height="1" bgcolor='#ebebeb'></td></tr>
HEREDOC;
    }
}
?>
          <tr>
            <td class='b_tit2'>  + 추가정보및 소개</td>
          </tr>
          <tr>
            <td height=1 bgcolor=cccccc></td>
          </tr>
          <tr>
            <td height=5></td>
          </tr>
          <tr>
            <td height="50" valign="top" style='word-break:break-all; padding:5px;'><?
        // 파일 출력
        //for ($i=0; $i<=count($view[file]); $i++) {
        //    if ($view[file][$i][view])
        //        echo $view[file][$i][view] . "<p>";
        //}
        ?>
                <!------- {gblist.skin.php 에서 지정한 이미지갯수만큼 뷰화면에서 한줄로 출력 } ----//---------->
                <?
  $n = $view[wr_2];     // 한줄당 출력 이미지수
  
  if ($n > (count($view[file])-1)) {
   $i_count = (count($view[file])-1);  //원본이미지수가 적으면 적은갯수를..
  }
  else {
   $i_count = $n;      //원본이미지수가 많으면 설정갯수를..
  } 
  if ($i_count > 0) {
  $wid = (int)($board[bo_image_width]/$i_count); //게시판환경설정->'이미지폭크기'를 갖고 나눈다
  $board[bo_image_width] = $wid;     //자동이미지폭 조정을 위해 다시 넘겨준다..
  $wid = (int)(1/$n*100);
  }
  echo "<table width='100%' cellpadding=3 cellspacing=0 border=0>";
  echo "<tr>";
        for ($i=0; $i<=count($view[file]); $i++) {

   if (($view[file][$i][view]) && $i>0 && ($i%$n == 0)) {
    echo "</tr><tr>";
   }
            if ($view[file][$i][view]) { 
    echo "<td align='center' valign='top' style='word-break:break-all'>";
    echo "<td align='center' valign='top' style='word-break:break-all'>";
    echo "<table cellpadding=10 cellspacing=0 border=0 style='border:1px solid #cccccc;'><tr><td>";
    echo "<table cellpadding=0 cellspacing=0 border=0 style='border:1px solid #888888;'><tr><td>";
    echo $view[file][$i][view];
    echo "</td></tr></table>";
    echo "</td></tr></table>";
    echo "<br><br>". $view[file][$i][content]; // 이미지 설명글 {게시판 환경설정에서 체크}
   }    
        }

  // 부족한 <td> 갯수 맞추는 작업
  if ((count($view[file])-1) % $n != 0) {      <--------------------298라인
   $td_cnt = $n - ((count($view[file])-1)%$n);
   for ($t=0; $t<$td_cnt; $t++) {
    echo "<td> </td>";
   }
  }

  echo "</tr></table>";
  echo "<br>";
        ?>
                <!--------------- 여기까지 -------------------------------------//------->
                <span class="ct lh">
                  <?=$view[content];?>
              </span>
                <?//echo $view[rich_content]; // 과 같은 코드를 사용할 경우?>
                <!-- 테러 태그 방지용 -->
              <a href=""></a><a href=''></a> </td>
          </tr>
          <? if ($is_signature) { echo "<tr><td>$signature<br><br></td></tr>"; } // 서명 출력 ?>
        </table>
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <? if ($trackback_url) { ?>
          <tr height=28>
            <td>  <span class='v1'>Trackback add :</span> <a class='v1' href="javascript:clipboard_trackback('<?=$trackback_url?>');" style="letter-spacing:0;" title='이 글을 소개할 때는 이 주소를 사용하세요'>
              <?=$trackback_url?>
              </a> 
              <script language="JavaScript">
            function clipboard_trackback(str) {
                if (g4_is_gecko)
                    prompt("이 글의 고유주소입니다. Ctrl+C를 눌러 복사하세요.", str);
                else if (g4_is_ie) {
                    window.clipboardData.setData("Text", str);
                    alert("트랙백 주소가 복사되었습니다.\n\n<?=$trackback_url?>");
                }
            }
        </script>
            </td>
          </tr>
          <tr>
            <td height="1" bgcolor='#ebebeb'></td>
          </tr>
          <? } ?>
        </table>
      <br>
        <?
include_once("./view_comment.php");
?>
        <?=$link_buttons?>
        <!----------- { 레이아웃 테이블 시작 } --------------------------------------//-->
    </td>
  </tr>
</table>
<script language="JavaScript">
// HTML 로 넘어온 <img ... > 태그의 폭이 테이블폭보다 크다면 테이블폭을 적용한다.
function resize_image()
{
    var target = document.getElementsByName('target_resize_image[]');
    var image_width = parseInt('<?=$board[bo_image_width]?>');
    var image_height = 0;

    for(i=0; i<target.length; i++) {
        // 원래 사이즈를 저장해 놓는다
        target[i].tmp_width  = target[i].width;
        target[i].tmp_height = target[i].height;
        // 이미지 폭이 테이블 폭보다 크다면 테이블폭에 맞춘다
        if(target[i].width > image_width) {
            image_height = parseFloat(target[i].width / target[i].height)
            target[i].width = image_width;
            target[i].height = parseInt(image_width / image_height);
        }
    }
}

window.onload = resize_image;
</script>

댓글 전체

아래 부분을 찾아 $n 값이 있는지 확인해 보세요

<!------- {gblist.skin.php 에서 지정한 이미지갯수만큼 뷰화면에서 한줄로 출력 } ----//---------->
<?
  $n = $view[wr_2];    // 한줄당 출력 이미지수
 
  if ($n > (count($view[file])-1)) {
  $i_count = (count($view[file])-1);  //원본이미지수가 적으면 적은갯수를..
  }
  else {
  $i_count = $n;      //원본이미지수가 많으면 설정갯수를..
  } 
$n = $view[wr_2]; // 한줄당 출력 이미지수

wr_2의 값이 설정 되어 있는지 확인해 보세요.

확인하시려면
$n = $view[wr_2];
echo $n;
이렇게 해 보시면 되겠지요.
값이 없다면 우선 정상적으로 되는지 값을 주고 테스트해 보세요
$n = 4;
이렇게 넣고 해보세요!
맞으면 값을 설정해수세요!

게시판 관리자 설정에서 설정해 주세요!
if ((count($view[file])-1) % $n != 0) {      <--------------------298라인

추측으로 이부분에서 $n값이 없는것 같군요.

윗분 이야기도 즉, 소스에서 echo $n을 하며 원인을 찾아가는것입니다.
두분 답변 감사합니다.
게시판 관리자 설정에서 먹지를 않아

근본적인 해결책은 아니지만
스킨 소스에 인위적으로 $n=4; 를 추가하여 해결하였습니다.

이제까지 아무런 문제없이 잘 사용해 왔는데
왜 이런현상이 발생이 되었는지 모르겠군요.

게시판 스킨 세개가 동시에 이런현상이 발생하는군요.
전체 3 |RSS

회원로그인

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