만들면서 배우는 CodeIgniter Q&A

제목 게시물 안에 있는 이미지 삭제 문의
글쓴이 난만이 작성시각 2018/04/24 10:23:24
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 11541   RSS

교재 "사진 SNS프로젝트"에

나온대로 게시물을 삭제하면

DB에서는 해당 항목이 삭제되지만 서버(uploads폴더)안에 있는 이미지 파일은 그대로 있더군요.

그래서 찾아본 결과,

unlink 함수를 이용하여 삭제할 수 있었습니다.

 

그런데 문제는

일반 게시판에서 발생했습니다.

CKEditor를 이용하여 본문을 작성할 수 있도록 게시판을 만들었는데,

이때 이미지를 포함하는 게시물을 작성 후 삭제해 보면

서버(uploads폴더)안에 있는 이미지 파일은 그대로 남아있게 됩니다.

 

삭제 시

게시물 본문 html을 그대로 불러와 이미지 경로를 찾아서 그것들을 unlink함수에 담아...

무식하게 삭제해야되나 고민하던 차에 질문드립니다.

사실 저런 방법이 가능한지도 아직 잘 모르겠구요.

 

좀더 효과적인 방법있으시면 알려주시길 바랍니다.

 

 다음글 책이 절판 됐던데.. 새로 출판 되는건가요? (1)
 이전글 오탈자 업데이트된 에러없는 최종본 소스를 받을수 있을까... (1)

댓글

변종원(웅파) / 2018/04/24 10:40:31 / 추천 0

말씀하신 방법도 가능한 방법입니다. html 파싱하여 image 주소 추출하고 삭제.

보통은 게시물 테이블 - 파일 테이블을 사용하여 게시물번호에 파일주소(파일명)을 연동해놓습니다.

게시물 삭제할때 연동된 파일명을 가져와서 삭제처리합니다.

난만이 / 2018/04/24 18:01:24 / 추천 0

답변 감사합니다. 아무래도 html파싱하여 처리하고 있는데,

제가 php지식이 짧아 헤매고 있네요.

그래도 제가 하는 방법이 그렇게 무리한 방법이 아니라니 다행입니다.^^;

변종원(웅파) / 2018/04/24 18:39:31 / 추천 0

장기적으로 보면 파싱 보다는 테이블로 처리하는게 좋습니다.

글 내용중에 외부 이미지 링크가 있으면 그것도 파싱해서 삭제하려고 시도할 것이고 html 파싱은 변수가 많은 작업입니다.

난만이 / 2018/04/30 08:23:26 / 추천 0

웅파님 말씀대로 테이블로 처리하려던 차에,

로컬에서는 잘 작동하던 파일업로드가

웹에서는 오류가 발생해서

그 문제 해결 후에 진행해보겠습니다.

답변 감사합니다.