[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 2,634건 29 페이지
  • RSS
기술자료 목록
2074
MSSQL   30131  2017-09-22 18:05  
2073
그누보드   10073  2017-09-20 12:23  
2072
JavaScript   21534  2017-09-20 07:12 ~ 2018-02-28 19:06  
2071
그누보드   12759  2017-09-19 01:05 ~ 2018-10-30 20:55  
2070
HTML   30609  2017-09-18 23:09  
2069
그누보드   13459  2017-09-18 14:03  
2068
Editor   10711  2017-09-18 12:51  
2067
Editor   12424  2017-09-18 11:38 ~ 2017-12-01 05:01  
2066
그누보드   11044  2017-09-15 22:21  
2065
그누보드   10597  2017-09-15 11:08  
2064
ClassicASP   15282  2017-09-13 23:26  
2063
일반   11176  2017-09-09 06:48  
2062
호스팅   14940  2017-09-07 18:28 ~ 2018-08-28 10:51  
2061
그누보드   11679  2017-09-07 01:01 ~ 2017-12-21 14:22  
열람
그누보드   26822  2017-09-05 04:49 ~ 2023-01-05 23:39  
2059
HTML   27932  2017-09-05 04:39  
2058
일반   15701  2017-09-04 18:48  
2057
그누보드   19388  2017-09-04 07:47 ~ 2019-09-26 22:55  
2056
PHP   15756  2017-09-04 07:41  
2055
Adobe   13057  2017-09-02 03:14  

검색

해피정닷컴 정보

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

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