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

[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 459건 8 페이지
  • RSS
기술자료 목록
319
그누보드   10032  2017-09-20 12:23  
318
그누보드   12734  2017-09-19 01:05 ~ 2018-10-30 20:55  
317
그누보드   13421  2017-09-18 14:03  
316
그누보드   11017  2017-09-15 22:21  
315
그누보드   10571  2017-09-15 11:08  
314
그누보드   11655  2017-09-07 01:01 ~ 2017-12-21 14:22  
열람
그누보드   26696  2017-09-05 04:49 ~ 2023-01-05 23:39  
312
그누보드   19353  2017-09-04 07:47 ~ 2019-09-26 22:55  
311
그누보드   19332  2017-08-31 14:34 ~ 2023-04-17 13:00  
310
그누보드   9830  2017-08-22 02:32 ~ 2017-08-22 00:00  
309
그누보드   14171  2017-08-22 02:26 ~ 2021-06-23 13:35  
308
그누보드   20123  2017-08-08 15:44  
307
그누보드   13828  2017-07-28 15:32  
306
그누보드   18178  2017-07-25 01:41 ~ 2017-07-28 00:00  
305
그누보드   11928  2017-07-17 13:16  
304
그누보드   12529  2017-07-13 12:50 ~ 2018-12-04 18:46  
303
그누보드   13354  2017-07-12 19:25 ~ 2018-04-11 10:20  
302
그누보드   10775  2017-07-02 20:32 ~ 2021-08-02 21:45  
301
그누보드   17679  2017-07-02 01:41 ~ 2017-11-01 16:16  
300
그누보드   15132  2017-06-30 02:56 ~ 2017-07-02 00:00  

검색

해피정닷컴 정보

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

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