[G5] 이미지 업로드시 사이즈 변경 (리사이징) - TYPE1 > 기술자료

본문 바로가기

사이트 내 전체검색

[G5] 이미지 업로드시 사이즈 변경 (리사이징) - TYPE1 > 기술자료

그누보드 [G5] 이미지 업로드시 사이즈 변경 (리사이징) - TYPE1

페이지 정보


본문

게시판에서 큰 이미지를 업로드시 사이즈(크기) 변경입니다 
plugin 을 활용합니다.


1. https://github.com/eventviva/php-image-resize 서 플러그인을 다운 받고 압축을 풉니다. 


2. 그누보드5 / plugin / 에  폴더를 생성후 파일업로드
                                  └ php-image-resize-master
                                            ├ ImageResize.php
                                            └ ImageResizeException.php


3. 적용 테스트
실제 적용하기 앞서 플러그인이 웹호스팅 계정에서 사용 가능한지 확인합니다.
http://도메인/plugin/php-image-resize-master/lib/ImageResize.php  이렇게 브라우저에 주소를 입력해봅니다.
Parse error: syntax error, unexpected T_STRING in /home/happyjung/www/plugin/php-image-resize-master/lib/ImageResize.php on line 3
이렇게 에러가 발생한다면 사용할 수 없습니다.
이 플러그인은 php 5.3 이상 설치된 서버에서만 사용 가능합니다.


4. 그누보드5 / skin / board / basic / write_update.head.skin.php 파일을 만드시고  아래 내용을 입력합니다 

<?php 
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 

include G5_PLUGIN_PATH."/php-image-resize-master/ImageResize.php";//플러그인 경로를 확인하세요 

$width   = 900;  //  너비 px
$height  = 8192; //  높이 px (포토샵에서 지원하는 최대 높이값)
$quality = 90;   //  선명도 %

//use \Eventviva\ImageResize; 
use \Gumlet\ImageResize;

for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) { 
    //이미지 내용 확인 
    $tmp_file  = $_FILES['bf_file']['tmp_name'][$i]; 
    $filename  = $_FILES['bf_file']['name'][$i]; 
    
    //이미지 확장자 검사 
    if($filename && preg_match("/\.({$config['cf_image_extension']})$/i", $filename)){ 
        // image type 검사 
        $timg = @getimagesize($tmp_file); 
        if ($timg['2'] < 1 || $timg['2'] == 16 || $timg['2'] == 17 || $timg['2'] > 18) { // WebP 추가
            continue; 
        } 
        //이미지 변경 
        $image = new ImageResize($tmp_file); 
        $image->resizeToBestFit($width, $height); 
        $image->save($tmp_file, null, $quality); 
        $_FILES['bf_file']['size'][$i]=filesize($tmp_file); 
        unset($image); 
    } 
}


사례
가로 1000 x 세로 8192  임의의 이미지를 생성후 업로드시 사이즈 변환
사이즈 :  원본 1000 x 8192  ->  업로드  900 x 7,317 px
JPG : 원본      501,574  ->  업로드    232,347 byte
PNG : 원본  1,340,635   -> 업로드  1,753,153 byte

JPG 와 PNG의 태생적 차이때문인지 모르지만 용량이 저렇게 변하네요 ^^


참고자료
https://sir.kr/g5_tip/5910 

댓글목록

profile_image

휴먼님의 댓글

no_profile 휴먼 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

유익한 자료 감사합니다.
덕분에 잘 쓰겠습니다.

시용해봤는데, 오류가 나기에 검색 좀 해봤습니다.
아래처럼 고쳐야 정상적으로 작동되는 모양입니다.

// php 5.3버전에서부터 추가된 namespace 기능
/* use \Eventviva\ImageResize;  */
use \Gumlet\ImageResize;

profile_image

관리자1님의 댓글의 댓글

관리자1 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

감사합니다.  함수가 변경되었군요.


Total 2,645건 1 페이지
  • RSS
기술자료 목록
2645
Search   584  2025-10-15 17:04 ~ 2025-10-23 00:29  
2644
MySQL   806  2025-08-28 17:54 ~ 2025-08-28 17:55  
2643
PHP   2201  2025-02-07 09:27 ~ 2025-02-07 16:59  
2642
그누보드   1839  2025-02-07 08:55 ~ 2025-02-07 17:04  
2641
그누보드   2086  2024-11-26 21:14 ~ 2024-11-26 21:22  
2640
그누보드   3669  2024-11-22 10:52 ~ 2024-11-22 11:03  
2639
호스팅   2446  2024-11-19 14:41 ~ 2024-11-19 21:17  
2638
Linux   1762  2024-11-18 15:45 ~ 2024-11-18 15:48  
2637
일반   1625  2024-11-15 16:45 ~ 2024-11-15 16:46  
2636
Secure   1786  2024-11-06 18:48 ~ 2024-11-06 18:50  
2635
영카트   2074  2024-10-21 13:44 ~ 2025-08-29 23:40  
2634
전자결제   3455  2024-09-05 09:30  
2633
MySQL   2643  2024-03-29 14:14 ~ 2024-03-29 14:14  
2632
그누보드   2911  2024-02-23 18:40 ~ 2024-02-24 06:13  
2631
JavaScript   2885  2024-02-16 18:50 ~ 2024-02-16 20:37  
2630
Java   2988  2024-02-06 16:49  
2629
PHP   3222  2024-02-06 16:42  
2628
호스팅   2506  2024-01-29 12:54  
2627
PHP   2504  2024-01-26 11:04 ~ 2024-01-26 11:13  
2626
MySQL   2626  2024-01-08 17:37 ~ 2024-03-14 16:00  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2026 해피정닷컴. All Rights Reserved.