BOARD

팁·활용

그누보드 WebP 이미지 형식 지원 및 썸네일 설정 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 1회 작성일 26-11-03 15:49

본문

그누보드 WebP 이미지 형식 지원 및 썸네일 설정 방법

그누보드 운영 환경에서 WebP 이미지 형식을 업로드하고 정상적으로 썸네일을 생성·출력하기 위해 필요한 설정과 파일 수정 방법을 확인합니다.

기본환경설정에서 WebP 업로드 확장자 변경 방법

그누보드 관리자 페이지에서 WebP 파일 업로드를 허용하려면 기본환경설정 항목을 수정해야 합니다.

1. 설정 위치

관리자 페이지의 환경설정 > 기본환경설정 > 게시판기본 메뉴로 이동합니다.

2. 변경 항목 및 값

  • 항목: 이미지 업로드 확장자
  • 기존 값: gif|jpg|jpeg|png
  • 변경 값: gif|jpg|jpeg|png|webp

3. 참고 사항

  • 업그레이드하여 사용하는 경우 위와 같이 확장자를 수동으로 추가해야 하며, 그누보드 5.4.11 버전 이상에서는 공식적으로 적용되어 있습니다.
  • 업로드 기능을 사용하기 앞서 서버 환경의 PHP GD 라이브러리에서 WebP 지원 여부를 확인하는 것이 좋습니다.

서버 환경의 WebP 지원 확인 방법

그누보드에서 WebP 이미지 업로드 및 지원 기능을 사용하려면, 우선 호스팅 서버의 PHP 환경에서 WebP 기능을 지원해야 합니다.

확인해야 할 정보 및 함수

  • phpinfo() 함수: 웹 서버에 PHP 환경 정보 출력을 위해 <?php echo phpinfo();?> 코드를 실행하여 정보를 확인합니다.
  • GD 라이브러리 WebP support: phpinfo() 화면에서 gd 라이브러리 항목 내에 WebP support 항목이 표시되는지 확인합니다. 해당 항목이 표시되지 않거나 지원되지 않는 상태라면 서버 환경에서 WebP 기능을 사용할 수 없습니다.

다음 행동 및 주의사항

  • 만약 phpinfo()에서 관련 모듈이나 지원 항목이 나타나지 않는다면, 직접 설정을 변경하기 전 웹호스팅 업체에 GD 라이브러리의 WebP 지원 추가(설치)를 요청해야 합니다.

그누보드에서 WebP 썸네일 생성 및 처리를 지원하기 위해 config.php 파일에 추가해야 할 설정은 다음과 같습니다.

1. 설정 코드 추가

그누보드 루트 디렉토리에 있는 config.php 파일의 마지막 부분에 아래 코드를 추가합니다.

// 썸네일 webp Quality 설정
define('G5_THUMB_WEBP_QUALITY', 90);

// 이미지 확장자 배열 정의
define('G5_IMAGE_EXTENSIONS', array(1=>'gif', 2=>'jpg', 3=>'png', 18=>'webp'));

2. 주의사항

  • 백업 필수: 파일을 수정하기 전 반드시 원본 config.php 파일을 백업하십시오.
  • 서버 환경 확인: WebP 기능은 서버의 PHP GD 라이브러리가 WebP 형식을 지원해야 정상적으로 작동합니다. phpinfo()를 통해 GD 라이브러리의 'WebP support' 항목이 활성화되어 있는지 확인이 필요합니다.

썸네일 라이브러리(thumbnail.lib.php) WebP 썸네일 생성 설정 방법

그누보드에서 WebP 이미지가 갤러리 썸네일로 정상 생성되도록 하려면 /lib/thumbnail.lib.php 파일에서 확장자 검증, 이미지 타입 확인, 이미지 리소스 생성 및 품질 처리 함수 영역에 .webp와 관련 함수들을 추가해야 합니다.

1. 썸네일 허용 확장자 정규식 수정

if( preg_match('/(\.jpg|\.jpeg|\.gif|\.png|\.bmp)$/i', $file['file'])... ) 부분을 아래와 같이 변경합니다.

if( preg_match('/(\.jpg|\.jpeg|\.gif|\.png|\.bmp|\.webp)$/i', $file['file']) && $contents = run_replace('get_file_thumbnail_tags', '', $file) )

2. 이미지 크기 및 타입 인덱스 확인 조건 수정

getimagesize() 결과 검증부에서 gif, jpg, png 외에 WebP 타입(18)을 포함하도록 수정합니다.

  • $size[2] < 1 || $size[2] > 3 조건을 아래와 같이 변경:
if(!($size[2] == 1 || $size[2] == 2 || $size[2] == 3 || $size[2] == 18))
  • 비스타일/지정 확장자 배열($ext = array(...)) 부분에 추가:
$ext = array(1 => 'gif', 2 => 'jpg', 3 => 'png', 18 => 'webp');

3. WebP 이미지 생성 및 품질 설정 함수 추가

  • 이미지 리소스 생성부(imagecreatefrom...)에 WebP 처리 추가:
} else if($size[2] == 18) {
 //$src = @imagecreatefromwebp($source_file);
  • 썸네일 저장 품질 설정부(image...)에 WebP 처리 추가:
} else if($size[2] == 18) {
 if(!defined('G5_THUMB_WEBP_QUALITY')) $webp_quality = 90;
 else $webp_quality = G5_THUMB_WEBP_QUALITY;
 imagewebp($dst, $thumb_file, $webp_quality);

주의사항: 서버의 PHP GD 라이브러리에서 WebP 형식을 지원하지 않는 환경에서 위 코드가 그대로 작동하면 갤러리 목록 등에서 썸네일 생성 오류가 발생할 수 있으므로, 서버 환경의 WebP 지원 여부를 먼저 확인해야 합니다.

회원 아이콘 및 이미지 등록 폼의 WebP 확장자 검증 수정 방법

그누보드에서 회원 아이콘, 회원 이미지 등록 폼, 그리고 관련 입력 영역에서 WebP 확장자 검증을 통과하도록 하려면 정규식과 파일 검증 조건이 포함된 파일들을 수정해야 합니다.

1. 관리자 및 회원 관련 PHP 파일 수정

  • /adm/member_form.php: 회원 아이콘과 회원이미지 검증 정규식에 webp를 추가합니다.
  • /adm/memberformupdate.php: 이미지 정규식($image_regex)과 이미지 타입 검증 조건($size[2] === 18)을 추가합니다.
  • /bbs/registerformupdate.php: 회원 아이콘 및 이미지 업로드 확장자 정규식(image_regex)과 size[2] 배열 조건에 18(webp)을 추가하여 업로드된 이미지가 삭제되는 것을 방지합니다.

2. 스킨 및 자바스크립트 파일 수정

  • /skin/member/스킨/register_form.skin.php 및 /mobile/skin/member/스킨/register_form.skin.php: 회원 아이콘 및 이미지 유효성 검사를 수행하는 자바스크립트 정규식 패턴에 webp를 추가합니다.
  • /js/wrest.js: 이미지 파일 확장자 검사 패턴(var pattern)에 webp를 추가하고 안내 문구를 수정합니다.

상황별 판단 및 다음 행동 가이드

내 상황우선할 판단다음 행동
5.4.11 미만 버전에서 WebP 업로드 실패관리자 설정 및 주요 파일(config.php, lib/thumbnail.lib.php 등)의 확장자 정규식 및 타입 조건 수정 필요config.php에 G5_IMAGE_EXTENSIONS 추가 및 관련 파일 수정
PHP GD 라이브러리 WebP 지원 여부 불확실phpinfo()를 통한 WebP support 항목 확인 선행미지원 시 웹호스팅 업체에 GD 모듈 설치/지원 요청
갤러리 썸네일 생성 오류 발생서버의 WebP 지원 여부와 무관하게 thumbnail.lib.php 내 타입 검증(18번) 및 이미지 리소스 생성 함수(imagewebp) 처리 반영 여부 점검lib/thumbnail.lib.php의 정규식 및 조건문 수정사항 적용

실전 FAQ

Q. PHP 7.2 이상을 사용 중인데도 WebP 썸네일 생성 시 오류가 발생합니다. 원인이 무엇인가요?

PHP 버전이 높더라도 서버의 GD 라이브러리가 WebP를 지원하도록 빌드되지 않았거나, lib/thumbnail.lib.php 파일에 타입 번호(18번)와 관련 함수 처리 코드가 정확히 반영되지 않은 경우 갤러리 썸네일 생성 시 오류가 발생할 수 있습니다.

Q. 스마트에디터2(SmartEditor2)에서 WebP 사진 첨부 시 파일 타입 허용 오류가 뜹니다. 어떻게 해결하나요?

스마트에디터2 내부의 업로드 핸들러 및 팝업 자바스크립트 파일(basic.js, UploadHandler.php 등)의 허용 확장자 정규식 및 이미지 생성 함수 매핑 배열에 webp 및 image/webp 처리를 추가해야 합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.