누가 좀 만들어 주소(??) > 자유게시판

자유게시판

누가 좀 만들어 주소(??) 정보

누가 좀 만들어 주소(??)

본문

에디터 이미지 첨부와 파일 첨부에 대해 

http://sir.kr/cm_free/1354233 글을 남겼죠.

 

정말 같은 문제를 고민하신 분들이 있다는 것을 알게 되었네요. 

 

여러 가지 살펴 보니...

skin/write.skin.php를 이용해서 게시판을 글쓰기 시에 

에디터에서 이미지를 등록할 때, 그 session을 활용하여 $bo_table과 $wr_id를 

알 수 있을 것 같네요.  

이를 어느 분의 tip 처럼 테이블에 저장하고, 저장한 정보를 바탕으로

게시물 삭제 시( bbs/delete.php )에서 삭제하면, 

에디터에서 첨부한 이미지 삭제 후 테이블에 정보는 $bo_table과 $wr_id를

이용하여 삭제하면 될 것 같으네요.

 

하지만, 에디터 첨부 시 이미 "editor/$YM" 폴더에 저장되더군요.

게시자가 게시물을 수정할 때, wr_content에는 이미지 링크를 없애면 링크는 없어지지만,

에디터 이미지 첨부 파일을 남아 버리니....ㅠㅠ;

(g4 or g5 동일하네요. ㅠㅠ;)

 

이는 admin 페이지에서 또는 별도 프로그램으로 처리해야 할 것 같으네요. 

생각한 것은

$bo_table의 wr_content와 "{editor}/$YM"에 파일이 일치하지 않으면, 삭제하는...

 

여기까지는 생각해 봤지만, 

OTL

 

누가 좀 만들어 주소 ^^;

 

 

추천
0

댓글 12개

저는...
에디터로 첨부한 이미지는 글 등록, 수정할때 목록을 뽑아내서 별도의 테이블에 이미지 목록을 저장합니다.
저장할때 게시판, 글번호, 제목, 작성자까지 등록을 해서 사이트내 사용된 이미지를 별도의 메뉴로 올려놨어요.

그리고 수정, 삭제시 테이블의 이미지 목록도 삭제하고 파일도 삭제합니다.

http://www.piree.co.kr/sam/piree/p770017__image_helper/image__list.php
이렇게 별도의 메뉴로 만들었죠.

나중에 검색가능하도록 하면 네이버의 "이미지 검색" 기능 역활도 하겠죠.
스킨에 없고, Tip에 있어서...일단 받아서 테스트해 보았습니다.
테스트 환경이 Windows APM 이라서인지 에디터 이미지가 삭제가 안 되는 현상이
있어서 별도로 Admin 메뉴에서 후작업으로 처리하는 프로그램이 필요할 것 같아요. ^^
delete_editor_thumbnail($row['wr_content']);

delete.php  파일보면 위 함수가 있습니다. 이미 이 기능이 있다는거죠.

에디터 썸네일을 지워주는건데

// 에디터 썸네일 삭제
function delete_editor_thumbnail($contents)
{
    if(!$contents)
        return;

    // $contents 중 img 태그 추출
    $matchs = get_editor_image($contents);

    if(!$matchs)
        return;

    for($i=0; $i<count($matchs[1]); $i++) {
        // 이미지 path 구함
        $imgurl = @parse_url($matchs[1][$i]);
        $srcfile = $_SERVER['DOCUMENT_ROOT'].$imgurl['path'];

        $filename = preg_replace("/\.[^\.]+$/i", "", basename($srcfile));
        $filepath = dirname($srcfile);
        $files = glob($filepath.'/thumb-'.$filename.'*');
        if (is_array($files)) {
            foreach($files as $filename)
                unlink($filename);
        }
    }
}

위 함수중에 이미지 path만 원본에 맞게 수정하면 원본 에디터 이미지도 삭제될겁니다.
에디터의 이미지를 삭제하지 않고 그대로 두는 것은 방법이 없어서가 아니라 글이 복사된 경우에 이미지를 삭제할것이냐? 말것이냐? 를 결정하면서 그대로 두자는 결론을 내렸기 때문입니다.

이미지가 포함된 (가)라는 게시물을 A 게시판에서 B 게시판으로 복사했다고 가정하고
A 게시판의 (가)라는 게시물을 삭제해야 할때 이미지 까지 삭제를 하면 B 게시판에서는 no image 가 되기 때문입니다.

이런 경우에도 방법이 아예 없는것은 아니죠.
게시물 삭제시 동일한 게시물이 있는지 검사하고 복사된 다른 게시물이 존재한다면 이미지를 남겨두는 방식인데 상당히 번거로운 일이 아닐수 없습니다.
그런 경우의 수가 있군요. 한수 배웠습니다.^^;

에디터 이미지를 관리하는 테이블을 생성하여 이력을 남기는 방법이 있겠군요.

write.php에서 이력을 남기고,
복사의 경우 move.php에서 이 테이블에 이력을 남기고,

이력과 파일의 삭제는 admin 메뉴에 프로그램을 추가한 후
검사해서 조건에 따라 이력을 삭제해야겠네요. ^^;

리자님 하나 만들어 주세요. ^^
리자님이 만들어 주시지 않으면, 다른 능력자들께서 하나 만들어 주세요. ^^
전체 195,268 |RSS
자유게시판 내용 검색

회원로그인

진행중 포인트경매

  1. 참여38 회 시작24.04.19 15:40 종료24.04.26 15:40
(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT