삭제된 글의 첨부파일 없애기
CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.3 |
포인트 마켓에 일정 시간이 지나면 게시글 자동 삭제( https://xetown.com/point_contents/1110684 )
애드온을 통해 게시글을 삭제했더니 위와 같이 파일 똥이 남고야 말아버렸습니다...
글, 댓글은 서버에서 사라졌는데, 파일이 "유효" 상태로 남아 따로 걸러내기가 힘든데
mysql 에서 한번에 삭제하는 명령어가 있을까요?
댓글 9
저도 그게 너무 의문입니다.
$oDocumentController->deleteDocument($val[1], true);
위와 같은 소스로 삭제하던데, 게시글이 수천개 쌓인 곳에 삭제되다보니 누락된게 아닌가 싶기도 하고 약간 멘붕입니다.
DB에서 해당 파일과 관련된 정보를 삭제하더라도 실제 files/attach 폴더 내에 저장된 파일은 그대로 남습니다. 제대로 삭제하려면 PHP단에서 루프 돌리면서 deleteFile() 메소드를 정확하게 호출해 줘야 합니다.
네. 모두 삭제해주어야 하는 것은 알고 있습니다.
혹시 파일명을 제목 기준으로 정렬하는 방법은 없을까요?
$args->sort_index = 'file_srl'; // /< 이 부분은 file_srl 을 기준으로 정렬하는데
만약 파일명으로 문서를 정렬한다면 제목 없는 파일만 삭제해줄 수 있을 것 같습니다.
혹시나 노가다하실 분들을 위해서 공유합니다
/modules/file/tpl/file_list.html 파일 내에 <tr> 태그에 cond="!$val->upload_target_type" 조건 걸어주면 서버에 없는 파일만 나오니, 체크 박스로 삭제하세요...