썸네일 생성시 원본카피저장에 대하여 ^^;; > 그누4 질문답변

그누4 질문답변

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

썸네일 생성시 원본카피저장에 대하여 ^^;; 정보

썸네일 생성시 원본카피저장에 대하여 ^^;;

본문

몇일동안 질문을 드리는거 같습니다 이것때문에 고생하고 있는데요  ^^
죄송하게 생각 합니다.

리스트스킨이나 업대이트 스킨에서 썸네일이 기존 사이즈와 동일 하거나 아니면 작을때
썸네일 용량이 기존 용량보다 두배이상 커지는 문제가 발생을 하여 ..
썸네일 생성시 썸네일을 생성하지 않고 .. 기존 첫번째 파일을 그대로 썸네일 폴더에
wr_id값으로 카피해서 생성하는 방법이 없을까요 ??

배추님 게시판 스킨을 사용하고 있습니다 .. 배추님 게시판은

list.skin.php 리스트에 보면 썸네일 생성이라는 부분이 ..

--------------------------------------------------------------------------------------

if ($mw_basic[cf_type] != "list")
{
    // 섬네일 생성
    $thumb_file = "";
    $file = mw_get_first_file($bo_table, $list[$i][wr_id], true);
    if (!empty($file)) {
        $source_file = "$file_path/{$file[bf_file]}";
        $thumb_file = "$thumb_path/{$list[$i][wr_id]}";
        if (!file_exists($thumb_file)) {
            mw_make_thumbnail($mw_basic[cf_thumb_width], $mw_basic[cf_thumb_height], $source_file, $thumb_file);
        } else {
            $size = @getImageSize($thumb_file);
            if ($size[0] != $mw_basic[cf_thumb_width] || $size[1] != $mw_basic[cf_thumb_height]) {
                mw_make_thumbnail($mw_basic[cf_thumb_width], $mw_basic[cf_thumb_height], $source_file, $thumb_file);
            }
        }
    } else {
        $thumb_file = "$thumb_path/{$list[$i][wr_id]}";
        if (!file_exists($thumb_file)) {
            preg_match("/<img.*src=\"(.*)\"/iU", $list[$i][wr_content], $match);
            if ($match[1]) {
                $match[1] = str_replace($g4[url], "..", $match[1]);
                if (file_exists($match[1])) {
                    mw_make_thumbnail($mw_basic[cf_thumb_width], $mw_basic[cf_thumb_height], $match[1], $thumb_file);
                }
            }
        }
    }
}

--------------------------------------------------------------------------------------
write_update.skin.php




// 섬네일 생성
if ($mw_basic[cf_type] != "list")
{
    $thumb_file = "";
    $file = mw_get_first_file($bo_table, $wr_id, true);
    if (!empty($file)) {
        $source_file = "$file_path/{$file[bf_file]}";
        $thumb_file = "$thumb_path/{$wr_id}";
        mw_make_thumbnail($mw_basic[cf_thumb_width], $mw_basic[cf_thumb_height], $source_file, $thumb_file);
    } else {
        $thumb_file = "$thumb_path/{$wr_id}";
        preg_match("/<img.*src=\"(.*)\"/iU", $wr_content, $match);
        if ($match[1]) {
            mw_make_thumbnail($mw_basic[cf_thumb_width], $mw_basic[cf_thumb_height], $thumb_file, $thumb_file);
        } else {
            @unlink($thumb_file);
        }
    }
}

즉 리스트나 업대이트시 위를 보면 썸네일을 생성하는 부분입니다.
즉 첫번째 업로드된 파일을 썸네일을 생성하지 않고 업대이트시
썸네일이 저장이 되는 thumbnail 폴더에 ..
게시물값으로 카피해서 저장이 되게 하고 싶은데요 .. 잘 안되네요 ^^;;

즉 wr_id값이 20번째 게시물에
첫번째 첨부 파일에 test.jpg로 업대이트 했으면 그 파일 그대로 thumbnail 폴더에

20.thum 으로 업대이트 되게요 .. 썸네일 확장자가 thum이니깐요 ^^;;

혹시 아시는분 계신가요 ??

댓글 전체

답변이 없어서 오리지날 초짜가..

썸네일생성시 - 파일용량이 커진다..?
 1. 썸네일 생성 퀄리티값을 낮춰준다.
 2. 무조건 썸네일 생성이 아니고 원본 사이즈가 일정이상 될때만 생성한다.
 3. 로고합성은 포토샵에서한다 -  write_update.skin.php 에서 하면 용량이 두배이상 늘어남..

결론은
위와같이 썸네일 생성을 했다면
썸네일이 있으면 썸네일을
썸네일이 없다면 원본 이미지를 불러온다..


wr_id 값으로 복사해야하는 이유가 무엇인지..?
용량만 늘어나죠..
무조건 썸네일을 생성하는데 문제가 생긴것 같습니다.

참고로
if(가로사이즈 > 300) { //원본 이미지 가로사이즈가 300 이상일때
  //썸네일생성소스//
}
위 처럼 간단히 삽입하면 될겁니다.
답변 감사 드립니다. ^^ 썸네일을 생성을 안하고 원본 파일을 대처를 해야 하는 이유는
위에 작성을 하였는데 ^^;;

기존 썸네일 시스템으로는 썸네일을 생성시 퀄러티 뿐만 아니라.. 용량도 상당히 많은 용량으로
썸네일이 생성이 되기 때문에 그렇습니다.
대부분이 이미지로 보여 줘야 하는것이기 때문에 애초부터 썸네일을 생성을 생성하지 않고
포토샵으로 작업후 6k로 낮춰서 올리거든요 ..

그렇게 되었을때 굳이 썸네일을 생성할 필요가 없기 때문에 .. 원본파일을 카피해서 저장을 하게
되는게 더 유리하기 때문이기도합니다. 또한 썸네일로 재생성을 하게 되면 원본파일이 6k바이트
대인 반면 ..썸네일은 40k 바이트까지 불어 버리는 현상이 발생을 합니다.

그것때문에도 그렇구요 ^^ 또한 .. 대부분 썸네일을 불러 드리는 것이 원본 파일이 아닌 ..
썸네일저장이 되는 폴더와 wr_id 값으로 불러 오기 때문에 그렇기도 합니다.
대부분이 썸네일저장폴더 /wr_id값 즉 게시글이 20번째 게시글이라면 썸네일 저장폴도/20
이런식으로 불러 오죠 ^^;;
위에 답변을 했는데
같은 내용을 다시 하시네요...

원본 이미지의 사이즈가 일정 이상일때만 썸네일을 생성하구요.
그 이하의 사이즈는 썸네일을 생성하지않고 원본을 불러오게합니다.

위에 답변한
if문 테스트 한번도 안해 보셨군요..

---

썸네일생성 관련.. (리스트, 업데이트 파일)

if(가로사이즈 > 300) { //원본 이미지 가로사이즈가 300 이상일때만 썸네일 생성.
  //썸네일생성소스 삽입//
}


리스트 출력관련..(참고하시고 소스는 원본파일과 비교하여 수정하세요)

if (file_exists($thumb_file)) { //썸네일이 있으면
 $img = "<img src=$thumb .........>"; //썸네일출력.
}else{ 썸네일이 없다면
 $img = "<img src=원본 이미지 ........>"; //원본이미지 출력.
}

출력위치에
$img


위에서
이미지 사이즈;
원본이미지;
는 스킨 소스상에 찾아보면 있습니다.
올리신 소스에는 없구요...
답변을 잘못 달아서 가을하늘님께서 이해를 잘 못하신듯 합니다. 죄송합니다.

썸네일을 불러 오냐 안불러 오냐가 중요한게 아니라 현재는 wr_id값으로 이미지를 불러
오느냐 못불러오느냐가 중요해서 그렇습니다. ^^;;

즉 리스트 페이지나 뷰페이지에서는 썸네일을 불러오지 않고 원본 파일을 불러오는게
어렵지는 않습니다만 굳이 썸네일을 불러올 필요도 없으나 문제는
그이외에 기능적인 부분에서 썸네일폴더의 wr_id값으로 이미지를 불려 드려야 하는 부분이
있기때문에 문제가 발생합니다. ^^

즉 리스트 페이지나 뷰페이지에서 굳이 썸네일을 불러 드리지 않아도 되지만..
배추님의 게시판이나 관련글에서는 해당 관련글은 기존에 제목을 뽑아오지만 수정한 것은
기존에 썸네일의 번호로 뽑아 오게끔 되어 있습니다.
즉 파일을 저장하는 테이블이 기존 게시글이 저장되는 테이블이 아닌 파일이 저장되는 테이블이
분리가 되어 있어서 ..썸네일폴더 wr_id값으로 이미지를 불러 오기 때문에 .. 그런것입니다. ^^

즉 배추님의 관련글에서는 해당 보드 테이블 및 wr_id 값으로 뽑아 오기 때문에 ..
썸네일폴더/wr_id  이렇게 하면 쉽게 그냥 이미지만 불러오지만 ..
원본파일이 같은 테이블에 아이디 값으로
저장이 되는것이 아니고 또 테이블이 분리가 되어 있기 때어 파일명이 변형이 되서 저장이 되기
때문에 .. 문제가 있습니다. ^^ 에초부터 기존에 썸네일을 생성하지 않고 ..
원본 파일을 카피해서 썸네일 폴더에 저장이되는 방식을 찾았던것이구요 ^^
또 가장 큰것은 사진을 보여주는 사이트의 경우 작은 썸네일이라도 포토샵으로 저장한것과는
달리 같은 크기로 썸네일을 저장을 하게 되더라고 퀄러티를 줄인다고 하더라도 용량이 3~5배가 불어 나서 저장이 되기 때문에 ..
도 있고 배추님의 게시판은 첫번째 파일 출력안함이라는 기능이 있기 때문에 .. 썸네일용으로
사용할 수 있기에 애초부터 썸네일용으로 사용할 파일을 첫번째에 올리고 첫번째 원본파일을
카피해서 썸네일폴더로 wr_id값으로 저장이 되게끔 하려는 목적이 가장큽니다. ^^
즉 300이하는 썸네일을 생성하지 않고 원본파일을 출력을 하고 썸네일이 있으면 썸네일을
출력을 하고 없으면 원본파일을 출력을 하는게 중요 한게 아니라 기존에 첫번째 파일을
썸네일 폴더로 wr_id값으로 카피를 하는게 목적입니다. ^^;;
전체 86 |RSS
그누4 질문답변 내용 검색

회원로그인

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