[급]갤러리에서 사진업로드시 사이즈을 고정하려면? > 그누4 질문답변

그누4 질문답변

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

[급]갤러리에서 사진업로드시 사이즈을 고정하려면? 정보

[급]갤러리에서 사진업로드시 사이즈을 고정하려면?

본문

현재 제가 사용하는 갤러리 소스는 요상하게도 그누보드 관리자 이미즈 사이즈 관리 폭을 640으로
해 놓아도 먹통 입니다.
해서 작업해 놓은 갤러리 스킨을 버릴수도 없고 해서 고수님께 문의 드립니다.
포인트가 많이 없어 3000 빡에 못드려 죄송합니다.
 
제가 얻고자 하는답은 업로드시 이미지 사이즈 관계없이 640x480으로 업로드 하고 싶습니다.
물론 리스트에서 지금 사용하는 썸네일을 그대로 사용하고 싶습니다.
이러하오니...
 
현재 사용하는 write.update.skin 입니다.
이것은 썸네일 처리 하는 부분만 있는것 같습니다.
여기에다 아예 업로드시 이미지 사이즈 관계없이 640x480으로 업로드 하고 싶습니다.
 
현재 사용하는 write.update.skin
 
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 자신만의 코드를 넣어주세요.
//print_r2($_FILES); exit;
$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb';
if ($_FILES[bf_file][name][0])
{
    $row = sql_fetch(" select * from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '0' ");
    $file = $data_path .'/'. $row[bf_file];
    if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file)) {
        $size = getimagesize($file);
        if ($size[2] == 1)
            $src = imagecreatefromgif($file);
        else if ($size[2] == 2)
            $src = imagecreatefromjpeg($file);
        else if ($size[2] == 3)
            $src = imagecreatefrompng($file);
        else
            break;
        $rate = $board[bo_1] / $size[0];
        $height = (int)($size[1] * $rate);
        @unlink($thumb_path.'/'.$wr_id);
        // 계산된 높이가 설정된 높이보다 작다면
        if ($height < $board[bo_2])
            $dst = imagecreatetruecolor($board[bo_1], $height);
        else
            $dst = imagecreatetruecolor($board[bo_1], $board[bo_2]);
        imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
        imagepng($dst, $thumb_path.'/'.$wr_id, $board[bo_3]);
        chmod($thumb_path.'/'.$wr_id, 0606);
    }
}
?>
이것의 썸네일을 건들리지 않는 범위내에서 이 write.update.skin  고쳐 주세요.
이스킨의 현재 bo_1:썸네일 가로 사이즈(170) , bo_2:셈네일 세로사이즈 (115),bo_3:썸네일 해상도 (95) 
을 사용합니다......
 
참고할 사진사이즈 수정하는 아래 예제는 있던데....
저는 봐도 잘 모르겠고....참고하여.....
좀 도와주세요...
 
참조할  write.update.skin  입니다.
 
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path;
$img_width = 1024;  //새로 만드는 이미지 사이즈

    $sql2=" select * from $g4[board_file_table] where  bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no asc";
    $results2 = sql_query($sql2);
    for ($d=0; $row2=sql_fetch_array($results2); $d++)  { 

if ($_FILES[bf_file][name][$d])
{
$file = $data_path .'/'. $row2[bf_file];

$IMG_info = getimagesize ($file);
$thum_W = $IMG_info[0] ;

if ($thum_W > $img_width) {

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

$rate = $img_width / $size[0];
$height = (int)($size[1] * $rate);

@unlink($data_path.'/'.$row2[bf_file]);
$dst = imagecreatetruecolor($img_width, $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $img_width, $height, $size[0], $size[1]);
imagejpeg($dst, $data_path.'/'.$row2[bf_file], $board[bo_2]);
chmod($data_path.'/'.$row2[bf_file], 0606);

}  // 네번째 그림형식확인
} //세번째 그림크기확인
}  // 두번째 if
}  //첫번째 for

?>
이것은 다음에서 출처 했습니다.
 
아마도 bo_4을 어덯게 해서 view 정해야 할것 같은데....
도저히 모르겠습니다.
 
저의 라이트업데이트 썸네일은 bo_1~bo_3을 썸네일로 쓰고 있는것 같습니다.
 
꼭 좀 부탁해요....
포인트 적어서 죄송합니다.

댓글 전체

열정님이 올려주신 팁인데..

글쓸때 그림을 첨부할경우  첨부된 그림원본을 삭제하고 리사이징된
 
이미지를 올리는 함수( http://sir.co.kr/bbs/tb.php/g4_tiptech/8179 ) 입니다..

참고하세요...^^
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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