겔러리게시판관련에러 > 그누4 질문답변

그누4 질문답변

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

겔러리게시판관련에러 정보

겔러리게시판관련에러

본문

안녕하세요
겔러리 게시판에 에러가 나는데 무엇때문인가요.
 
Thumb_latest_Engine01.php 는
<?
// 최신글에서 썸네일 보여줄때 사용함 /skin/board/photo_thumb 폴더스킨과 연동됨.
// 두개이상의 '썸네일 최신글'을 불러오려면 본 파일을 파일명만 변경하여 추가.
/* 불러올 스킨폴더 지정 */
$board_skin_path = "$g4[path]/skin/board/gallery_thumb";
// 쎔네일 파일 최대 사이즈 파일에서 읽어와서 지정
//$thum_filename = $board_skin_path . "/thumb_size.txt";  // 썸네일 최대폭 값을 처리하기 위해 파일로 처리
$fp_thum = fopen($thum_filename, "r");
$thum_max_size = fread($fp_thum, filesize($thum_filename)); 
fclose($fp_thum);
global $max, $thum_W, $thum_H;
//$noIMG = $latest_skin_path."/img/no_image.jpg"; //[필수](URL)
$noIMG = $board_skin_path."/img/no_image.jpg"; //[필수](URL)
$max = $thum_max_size; //[설정](픽셀)    // 썸네일 이미지의 가로세로(긴쪽)의 최대치.
$resol = 80 ; //[설정](퍼센트%) // 생성되는 썸네일의 JPG압축률.
// ########## 썸네일 관련 함수 ###############################
function smaller( $W, $H ) {
 global $max, $thum_W, $thum_H ;
  if ( $W > $H ) { //가로형일 경우.
   $thum_W = $max ;
   $thum_H = ceil( $H * ( $max / $W ) );
  }
  if ( $W < $H ) { //세로형일 경우.
   $thum_H = $max ;
   $thum_W = ceil( $W * ( $max / $H ) );
  }
  if ( $W == $H ) { //정사각형일 경우.
   $thum_W = ceil( $max * 0.8 );
   $thum_H = ceil( $max * 0.8 );
  }
 
 return $thum_W ;
 return $thum_H ;
}
function maker( $thum_W, $thum_H ) {
 global $thum, $resol, $ori, $ori_info ;
  //$newImg = ImageCreate($thum_W,$thum_H); // GD라이브러리 2.0 (이하일 경우)
  $newImg = ImageCreateTrueColor($thum_W,$thum_H); // GD라이브러리 2.0 전용함수
  
  if($ori_info[2]=="1") $origImg=imagecreatefromgif($ori);
  if($ori_info[2]=="2") $origImg=ImageCreateFromjpeg($ori);
  if($ori_info[2]=="3") $origImg=ImageCreateFrompng($ori);
  //if($ori_info[2]=="6") $origImg=imagecreatefromwbmp($ori);
  
  //ImageCopyResized($newImg,$origImg,0,0,0,0,$thum_W,$thum_H,ImageSX($origImg),ImageSY($origImg));
  imageCopyResampled($newImg,$origImg,0,0,0,0,$thum_W,$thum_H,ImageSX($origImg),ImageSY($origImg));
  
  Imagejpeg($newImg, $thum, $resol );
  
  chmod($thum,0707);
  ImageDestroy($newImg);
  ImageDestroy($origImg);
 return $thum ;
}
// #########################################################

?>
 
latest.skin.php 는
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
//썸네일 갤러리 전용 최신글
//jpg.Thum,   jpeg.Thum,   png.Thum,   gif 만 읽을 수 있음
//썸네일(or GIF파일) 가로크기 {gif는 썸네일 생성이 안됨)
$image_width  = 100;
$mod = 3;   // 한행당 출력할 썸네일 이미지갯수
?>
<!-- 최신글 제목 -->
     <table width="315" border="0" cellspacing="0" cellpadding="0">
         <tr>
              <td><img src="<?=$latest_skin_path?>/img/board_table_top.gif" width="315" height="3"></td>
          </tr>
          <tr>
               <td height="30" background="<?=$latest_skin_path?>/img/board_table_bg.gif">
                   <table width="300" border="0" align="center" cellpadding="0" cellspacing="0">
                        <tr>
                            <td><img src="<?=$latest_skin_path?>/img/board_icon1.gif" width="18" height="11"><strong><a href='<?=$g4[bbs_path]?>/board.php?bo_table=<?=$bo_table?>'><?=$board[bo_subject]?></a></strong></td>
                             <td>
                             <div align="right"><a href='<?=$g4[bbs_path]?>/board.php?bo_table=<?=$bo_table?>'>
<img src="<?=$latest_skin_path?>/img/more_img.gif" width="37" height="15" border=0></a>
                              </div>
                          </td>
                          </tr>
                   </table>
                </td>
            </tr>
            <tr>
                <td><img src="<?=$latest_skin_path?>/img/board_table_bottom.gif" width="315" height="3"></td>
            </tr>
       </table>
<table width='100%' align='center' cellpadding='0' cellspacing='1' border='0'>
<tr><td height=10></td></tr>
<tr>
<? for ($i=0; $i<count($list); $i++) {
  if ($i>0 && $i%$mod==0) { echo "</tr><tr>"; }
?>
<?
include_once $g4['path']."/Thumb_Engine/Thumb_latest_Engine01.php";  // 썸네일관련 함수파일
$image = $list[$i][file][0][file];
$ori="$g4[path]/data/file/$bo_table/" . $image;
$ext = strtolower(substr(strrchr($ori,"."), 1)); //확장자
if ( $ext=="gif"||$ext=="jpg"||$ext=="jpeg"||$ext=="png"||$ext=="bmp"||$ext=="tif"||$ext=="tiff") {
  $ori_info=getimagesize($ori);
 }else {
  $ori_info="";
 }

/* 참고 : getimagesize함수용
1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order),
9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM
*/
// -- ----- 원파일이 [ 1GIF, 2JPG, 2JPEG, 3PNG ] 경우
if ( $ori_info[2]=="1" || $ori_info[2]=="2" || $ori_info[2]=="3" ) {
  $thum = $ori.".Thum" ;
  if ( file_exists($thum) ) { // Thumbnail [O] 경우
 
   $thum_info = getimagesize ($thum);
   $thum_W = $thum_info[0] / 1.5 ;  //---------- 편법 : board/gallery_thumb 스킨의 리스트이미지의 1.5배축소
   $thum_H = $thum_info[1] / 1.5 ;  //---------- 편법 : board/gallery_thumb 스킨의 리스트이미지의 1.5배축소
 
  } else { // Thumbnail [X] 경우
   if ( smaller( $ori_info[0], $ori_info[1] ) ) {
    maker( $thum_W, $thum_H );
   }
  }
// ------- 원파일이 [ 7TIF, 8TIFF ] 경우
} else if ( $ori_info[2]=="7" || $ori_info[2]=="8" ) {
   if ( smaller( $ori_info[0], $ori_info[1] ) ) {
    $thum = $ori ;
   }
} else { //========================== 원파일이 [ 1,2,3,6,7 ] 아닐 경우.
 /*
 $thum = $noIMG ;
 $noIMG_info = getimagesize ($noIMG);
 $thum_W = $noIMG_info[0] ;
 $thum_H = $noIMG_info[1] ; */
 $thum = $noIMG ;
    $noIMG_info = getimagesize ($noIMG);
    /* gallery_thumb 스킨에서 썸네일 최대폭값을 읽어와서 폭과 높이를 구하기 위해 수정 */
    smaller($noIMG_info[0],$noIMG_info[1]);
    $thum_W = $thum_W / 1.5 ;  //---------- 편법 : board/gallery_thumb 스킨의 리스트이미지의 1.5배축소
    $thum_H = $thum_H / 1.5 ;  //---------- 편법 : board/gallery_thumb 스킨의 리스트이미지의 1.5배축소
}
$thum = str_replace('%', '%25', $thum);
/* -------------------------------- 썸네일 만들기 끝 ---------------------- */
?>
  <?
  echo "<td align='center'>";
  echo "<table border='0' width='100%' cellpadding='0' cellspacing='0'>";
  echo "<tr>";
  echo "<td>";
  echo "<table border='0' cellpadding='3' cellspacing='1' bgcolor='#999999'>";
  echo "<tr>";
  echo "<td bgcolor='white'><a href='{$list[$i][href]}'><img src='$thum' alt='{$list[$i][subject]}' border='0' style='border:1 solid #666666;' width='80' height='80'></a></td>";
  echo "</tr>";
  echo "</table>";
  echo "</td>";
  echo "</tr>";
  echo "<tr>";
  echo "<td height='23' align='left' valign='top'><a href='{$list[$i][href]}'><font class=w_list>{$list[$i][subject]}</font></a></td>";
  echo "</tr>";
  echo "</table>";
  echo "</td>";
        ?>
  </td>
<? } ?>
<?
// td(열)의 나머지 갯수를 구한후 빈 td(열)을 출력한다.
$nam = ($i%$mod);
for ($k=$nam; $k<$mod && $nam; $k++) {
    echo "<td> </td>";
}
?>
<? if (count($list) == 0) { echo "<td height='30' colspan=$mod align=center>게시물이 없습니다.</td>"; } ?>
</tr>
</table>
 
(그림1) 위와같이 에러가 납니다.....
(그림2) 에러메세지 관련된 소스
어떻게 해야 하는지 그리고 에러나는곳을 주석처리를 하면 정상으로 보이는데
이미지를 업로드 하면 제일처음 한개의 그림이 보이질 않고  그림이 나와야 할공간에
이미지가 보이질 않아요
이미지 올리겠습니다.
그리고 지금은 그림이 3개씩 한줄 뿐 표현이 안되는데 3개씩 3줄 9개의 그림을 나오게 하고 싶어요
고수님들 명괘한 해답 기대 합니다...도와주세요 ..
  • 복사

댓글 전체

madem 님 답변에 감사 드립니다....

일단 에러 부분을 주석 처리 하여 해결을 하였습니다...
부분이 이미저 싸이즈에 관련된것 같아서 일단 주석으로 처리 하였습니다...
감사 드립니다
© SIRSOFT
현재 페이지 제일 처음으로