파일첨부시 1번파일만 사이즈를 줄일수 있을까요?

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
파일첨부시 1번파일만 사이즈를 줄일수 있을까요?

QA

파일첨부시 1번파일만 사이즈를 줄일수 있을까요?

본문

thisgun님의 게시판에 파일 업로드시 이미지 파일 용량 줄이기 플러그인을 설치했습니다

https://sir.kr/g5_plugin/6165

 

1번 파일만 따로 뽑아서 전송할 곳이 있어서 이 플러그인을 1번파일만 적용하고싶은데

문제는 이걸 설정해놓으면 2번,3번.... 파일들도 일괄 적용되어 버립니다..ㅠ ㅠ

 

혹시 파일첨부시 1번 첨부파일만 이 플러그인이 적용되게 할수 있을까요?

 

코드는 이렇습니다


<?php
if (!defined('_GNUBOARD_')) exit; // Unable to access direct pages
//return;
/*
// 게시판의 경우 게시판 설정에서 이미지 폭 크기 값으로 resize 됩니다.
// 에디터 이미지 경우 아래 상수에 width 값을 지정해 주세요.
*/
define('CUSTOM_EDITOR_RESIZE_WIDTH', 1200);
add_replace('write_update_upload_file', 'custom_upload_file_resize', 10, 4);
add_replace('get_editor_upload_url', 'custom_editor_upload_url', 10, 3);
// bbs/view_image.php 에서 이미지를 호출시 위의 상수값 CUSTOM_EDITOR_RESIZE_WIDTH 보다 이미지 width 값이 크다면 CUSTOM_EDITOR_RESIZE_WIDTH 으로 파일을 리사이즈 합니다.
add_replace('get_view_imagesize', 'custom_get_view_imagesize', 10, 3);
function custom_get_view_imagesize($size, $filepath, $editor_file){
    if( isset($size[0]) && (int) $size[0] > CUSTOM_EDITOR_RESIZE_WIDTH ){
        $filepath = custom_imagefile_resize($filepath, CUSTOM_EDITOR_RESIZE_WIDTH);
        $size = @getimagesize($filepath);
    }
    return $size;
}
function custom_imagefile_resize($dest_file, $thumb_width=0){
    include_once(G5_LIB_PATH.'/thumbnail.lib.php');
    $size = @getimagesize($dest_file);
    if(empty($size))
        return $dest_file;
    if(in_array($size[2], array(IMAGETYPE_JPEG, IMAGETYPE_PNG))) {
        if(function_exists('exif_read_data')) {
            // exif 정보를 기준으로 회전각도 구함
            $exif = @exif_read_data($dest_file);
            $degree = 0;
            if(!empty($exif['Orientation'])) {
                switch($exif['Orientation']) {
                    case 8:
                        $degree = 90;
                        break;
                    case 3:
                        $degree = 180;
                        break;
                    case 6:
                        $degree = -90;
                        break;
                }
                // 회전각도를 구한다.
                if($degree) {
                    // 세로사진의 경우 가로, 세로 값 바꿈
                    if($degree == 90 || $degree == -90) {
                        $tmp = $size;
                        $size[0] = $tmp[1];
                        $size[1] = $tmp[0];
                    }
                }
            }
        }
        // 원본 width가 thumb_width보다 작다면
        if($size[0] <= $thumb_width)
            return $dest_file;
        
        $thumb_height = ceil($thumb_width * $size[1] / $size[0]);
        $path_parts = pathinfo($dest_file);
        
        if( $path_parts['dirname'] ){
            $thumb = thumbnail($path_parts['basename'], $path_parts['dirname'], $path_parts['dirname'], $thumb_width, $thumb_height, true, true);
            if($thumb) {
                @unlink($dest_file);
                rename($path_parts['dirname'].'/'.$thumb, $dest_file);
            }
        }
    }
    return $dest_file;
}
function custom_editor_upload_url($fileurl, $filepath, $args=array()){
    global $config;
    if( $config['cf_editor'] === 'smarteditor2' && (defined('SMARTEDITOR_UPLOAD_RESIZE') && SMARTEDITOR_UPLOAD_RESIZE) ){
        return $fileurl;
    }
    if ( file_exists($filepath) && defined('CUSTOM_EDITOR_RESIZE_WIDTH') && CUSTOM_EDITOR_RESIZE_WIDTH ){
        
        $thumb_width = CUSTOM_EDITOR_RESIZE_WIDTH;
        $filepath = custom_imagefile_resize($filepath, $thumb_width); 
    }
    return $fileurl;
}
function custom_upload_file_resize($dest_file, $board, $wr_id, $w){
    for ($i=0; $i=count($_FILES['bf_file']['name']); $i++) {
    if( file_exists($dest_file) && $board['bo_image_width'] ){
        // 게시판 관리자에서 설정된 width 값
        $thumb_width = $board['bo_image_width'];
        $dest_file = custom_imagefile_resize($dest_file, $thumb_width);
    }
    return $dest_file;
}
}
?>

이 질문에 댓글 쓰기 :

답변 2

롱즈님 이거 그냥 public_html > extend 폴더안에 넣으면 끝인가요 ?

파일 다운받고 압축풀어서 안에 파일 그냥 extend 안에 넣었는데 전혀 무반응입니다.

파일 용량 그대로 다 올라가네요

 

답변을 작성하시기 전에 로그인 해주세요.
전체 467
QA 내용 검색

회원로그인

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