BOARD

문제 해결

그누보드4 게시글 삭제 시 생성된 썸네일 파일 자동 삭제 처리 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 0회 작성일 26-09-13 11:01

본문

현상 및 문제점

그누보드4 환경에서는 게시글을 삭제하거나 첨부파일을 수정할 때 본래의 첨부파일은 정상적으로 삭제되지만, 문서 아이디를 기반으로 생성된 썸네일(Thumbnail) 파일과 최신게시물 썸네일 파일은 서버 디렉토리에 그대로 남는 현상이 발생합니다. 이로 인해 불필요한 파일이 누적되어 서버 용량을 차지하게 됩니다.

원인

기본 삭제 로직 및 글 수정(업데이트) 로직 내부에 첨부파일 삭제 코드는 존재하나, 생성된 썸네일 경로와 파일($write[wr_id])을 직접 타겟팅하여 삭제하는 @unlink 함수 호출 코드가 누락되어 있기 때문입니다.

해결 방법

게시글 삭제와 수정이 이루어지는 파일들에 썸네일 삭제 코드를 추가합니다. 작업 전 반드시 원본 파일을 백업하시기 바랍니다.

1. bbs/delete.php 파일 수정

75번 줄 부근의 첨부파일 삭제 코드 바로 아래에 썸네일 삭제 코드를 추가합니다.

@unlink("$g4[path]/data/file/$bo_table/$row2[bf_file]");
@unlink("$g4[path]/data/file/$bo_table/thumb/$write[wr_id]");
@unlink("$g4[path]/data/file/$bo_table/latest_thumb/$write[wr_id]");

2. bbs/delete_all.php 파일 수정

92번 줄 부근의 첨부파일 삭제 코드 바로 아래에 동일한 코드를 추가합니다.

@unlink("$g4[path]/data/file/$bo_table/$row2[bf_file]");
@unlink("$g4[path]/data/file/$bo_table/thumb/$write[wr_id]");
@unlink("$g4[path]/data/file/$bo_table/latest_thumb/$write[wr_id]");

3. bbs/write_update.php 파일 수정

120번 줄 및 158번 줄 부근의 첨부파일 삭제 코드 바로 아래에 각각 코드를 추가하여 이미지 교체 시에도 썸네일이 즉시 갱신되도록 합니다.

@unlink("$g4[path]/data/file/$bo_table/$row[bf_file]");
@unlink("$g4[path]/data/file/$bo_table/thumb/$write[wr_id]");
@unlink("$g4[path]/data/file/$bo_table/latest_thumb/$write[wr_id]");

주의사항 및 확인 필요 조건

사용 중인 게시판 스킨에 따라 썸네일 저장 폴더 구조가 기본값과 다를 수 있습니다. 만약 썸네일 폴더명을 다르게 구성한 스킨을 사용 중이라면 아래 예시와 같이 실제 경로에 맞게 폴더명을 수정해야 정상적으로 삭제됩니다.

@unlink("$g4[path]/data/file/$bo_table/스킨_썸네일폴더명/$write[wr_id]");
@unlink("$g4[path]/data/file/$bo_table/스킨_최근게시물썸네일폴더명/$write[wr_id]");

적용 후 확인 방법

코드를 적용한 후 테스트 게시글을 작성하고 첨부파일을 등록한 뒤, 해당 글을 삭제하거나 수정해 봅니다. 그 후 서버의 해당 썸네일 디렉토리(data/file/[게시판테이블]/thumb 등)에 대상 문서 아이디와 일치하는 썸네일 파일이 깨끗하게 제거되었는지 확인합니다.

복구 방법

수정 과정에서 오류가 발생하거나 사이트 동작에 이상이 생길 경우, 수정 전에 미리 백업해 둔 원본 파일을 서버에 업로드하여 원래 상태로 즉시 복구할 수 있습니다.

함께 보면 좋은 글

댓글목록

등록된 댓글이 없습니다.