카멜레온 빌더 썸네일문제 > 그누4 질문답변

그누4 질문답변

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

카멜레온 빌더 썸네일문제 정보

카멜레온 빌더 썸네일문제

본문

게시판을 기본 베이직 게시판이 아닌 다른게시판을 사용하고 있습니다.
검색결과

skin/board/스킨명/write_update.skin.php 파일속에 아래 내용을 추가해주신면 됩니다.

카멜레온 빌더는 메인페이지에 속도를 위해 최신글 스킨에서 썸네일 파일을 생성하지 않습니다.
게시판에서 파일 업로드시에 썸네일 생성되어 지도록 제작되었습니다.
그로 인해 다른 게시판 스킨을 가져다 사용하는 경우 형성이 안되거나 방식이 다른 경우 노출이 되지 않습니다.

썸네일 형태는 data/file/bo_table/thumb/wr_id/0~1,2,3,4,5 파일순서대로 생성됩니다.


<?
function GetImageRatio($filename,$width,$height) {

    $s_size = @getimagesize($filename);

    if  ( ($s_size[0] > 0) &&  ($s_size[1] > 0) ) {

        if ($s_size[0] > $s_size[1])    $ratio = $width/$s_size[0];
        else                            $ratio = $height/$s_size[1];

        $img[width]  = $s_size[0]*$ratio;
        $img[height] = $s_size[1]*$ratio;
    }

    return $img;

}
function cm_thumb($bo_table, $wr_id, $i, $file, $image_width, $image_height, $quality='80')
{
    global $g4;

    $file_path = $g4['path'].'/data/file/'.$bo_table;
    $file_name = $g4['path'].'/data/file/'.$bo_table.'/'.$file;

    $thumb_path = $file_path.'/thumb';
    $thumb_id = "$thumb_path/$wr_id";
    $thumb = "$thumb_id/$i";
   
    @mkdir($thumb_path, 0707);
    @chmod($thumb_path, 0707);
   
   
    @mkdir("$thumb_id", 0707);
    @chmod("$thumb_id", 0707);

    if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file_name) && file_exists($file_name)) {
   
        $size = getimagesize($file_name);
        if ($size[2] == 1)
            $src = imagecreatefromgif($file_name);
        else if ($size[2] == 2)
            $src = imagecreatefromjpeg($file_name);
        else if ($size[2] == 3)
            $src = imagecreatefrompng($file_name);
        else
            break;


        // 비율에 맞추어 썸네일 파일 생성
        $img_size = GetImageRatio($file_name, $image_width, $image_height);
       
        $dst = imagecreatetruecolor($img_size['width'], $img_size['height']);
        imagecopyresampled($dst, $src, 0, 0, 0, 0, $img_size['width'], $img_size['height'], $size[0], $size[1]);
        imagejpeg($dst, $thumb, $quality);
        chmod($thumb, 0606);
    }


}

$rs = sql_query(" select * from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no asc ");

while($row=sql_fetch_array($rs)) {

cm_thumb($bo_table, $wr_id, $row['bf_no'], $row['bf_file'], 170, 170);
}

?>

라고 추가하라고 하시던데, 일단 write_update.skin.php 파일이없습니다. 대신 write_update.head.skin 은 있습니다
그래서 write_update.head.skin 에 위 소스를 추가해봐도 썸네일이 나오질 않습니다 x박스떠요 ㅠㅠ
어떡게 하면 되나요. 답변줌주세요 ~~~
  • 복사

댓글 전체

write_update.skin.php 을 만들고 위 내용을 넣으시면 될것 같네요.
혹시 모르니, 두번째 줄에
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
를 넣으시면 좋구요.

write_update.head.skin.php 는 글쓰기 전에 처리하는 화일이므로, 당연히 썸네일 할게 없겠죠. ^^;
© SIRSOFT
현재 페이지 제일 처음으로