누가 좀 만들어 주소(??) 정보
누가 좀 만들어 주소(??)본문
에디터 이미지 첨부와 파일 첨부에 대해
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
0
댓글 12개
저는...
에디터로 첨부한 이미지는 글 등록, 수정할때 목록을 뽑아내서 별도의 테이블에 이미지 목록을 저장합니다.
저장할때 게시판, 글번호, 제목, 작성자까지 등록을 해서 사이트내 사용된 이미지를 별도의 메뉴로 올려놨어요.
그리고 수정, 삭제시 테이블의 이미지 목록도 삭제하고 파일도 삭제합니다.
http://www.piree.co.kr/sam/piree/p770017__image_helper/image__list.php
이렇게 별도의 메뉴로 만들었죠.
나중에 검색가능하도록 하면 네이버의 "이미지 검색" 기능 역활도 하겠죠.
에디터로 첨부한 이미지는 글 등록, 수정할때 목록을 뽑아내서 별도의 테이블에 이미지 목록을 저장합니다.
저장할때 게시판, 글번호, 제목, 작성자까지 등록을 해서 사이트내 사용된 이미지를 별도의 메뉴로 올려놨어요.
그리고 수정, 삭제시 테이블의 이미지 목록도 삭제하고 파일도 삭제합니다.
http://www.piree.co.kr/sam/piree/p770017__image_helper/image__list.php
이렇게 별도의 메뉴로 만들었죠.
나중에 검색가능하도록 하면 네이버의 "이미지 검색" 기능 역활도 하겠죠.
에디터로 등록한 이미지에도 댓글을 달수 있게 해 놨어요.
그런데 머리 아프더라구요.
그런데 머리 아프더라구요.
역시 테이블을 이용하시는 군요...^^
http://sir.kr/g5_tip/3534
올해 1월에 스킨으로 만들어서 올린 건데 참고해 보시면 될 듯합니다.
올해 1월에 스킨으로 만들어서 올린 건데 참고해 보시면 될 듯합니다.
스킨에 없고, Tip에 있어서...일단 받아서 테스트해 보았습니다.
테스트 환경이 Windows APM 이라서인지 에디터 이미지가 삭제가 안 되는 현상이
있어서 별도로 Admin 메뉴에서 후작업으로 처리하는 프로그램이 필요할 것 같아요. ^^
테스트 환경이 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만 원본에 맞게 수정하면 원본 에디터 이미지도 삭제될겁니다.
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만 원본에 맞게 수정하면 원본 에디터 이미지도 삭제될겁니다.
알려주신 php와 함수를 보긴 했지만...제 테스트 환경에서는 함수가 동작되지 않았습니다. ^^;
에디터의 이미지를 삭제하지 않고 그대로 두는 것은 방법이 없어서가 아니라 글이 복사된 경우에 이미지를 삭제할것이냐? 말것이냐? 를 결정하면서 그대로 두자는 결론을 내렸기 때문입니다.
이미지가 포함된 (가)라는 게시물을 A 게시판에서 B 게시판으로 복사했다고 가정하고
A 게시판의 (가)라는 게시물을 삭제해야 할때 이미지 까지 삭제를 하면 B 게시판에서는 no image 가 되기 때문입니다.
이런 경우에도 방법이 아예 없는것은 아니죠.
게시물 삭제시 동일한 게시물이 있는지 검사하고 복사된 다른 게시물이 존재한다면 이미지를 남겨두는 방식인데 상당히 번거로운 일이 아닐수 없습니다.
이미지가 포함된 (가)라는 게시물을 A 게시판에서 B 게시판으로 복사했다고 가정하고
A 게시판의 (가)라는 게시물을 삭제해야 할때 이미지 까지 삭제를 하면 B 게시판에서는 no image 가 되기 때문입니다.
이런 경우에도 방법이 아예 없는것은 아니죠.
게시물 삭제시 동일한 게시물이 있는지 검사하고 복사된 다른 게시물이 존재한다면 이미지를 남겨두는 방식인데 상당히 번거로운 일이 아닐수 없습니다.
그런 경우의 수가 있군요. 한수 배웠습니다.^^;
에디터 이미지를 관리하는 테이블을 생성하여 이력을 남기는 방법이 있겠군요.
write.php에서 이력을 남기고,
복사의 경우 move.php에서 이 테이블에 이력을 남기고,
이력과 파일의 삭제는 admin 메뉴에 프로그램을 추가한 후
검사해서 조건에 따라 이력을 삭제해야겠네요. ^^;
리자님 하나 만들어 주세요. ^^
리자님이 만들어 주시지 않으면, 다른 능력자들께서 하나 만들어 주세요. ^^
에디터 이미지를 관리하는 테이블을 생성하여 이력을 남기는 방법이 있겠군요.
write.php에서 이력을 남기고,
복사의 경우 move.php에서 이 테이블에 이력을 남기고,
이력과 파일의 삭제는 admin 메뉴에 프로그램을 추가한 후
검사해서 조건에 따라 이력을 삭제해야겠네요. ^^;
리자님 하나 만들어 주세요. ^^
리자님이 만들어 주시지 않으면, 다른 능력자들께서 하나 만들어 주세요. ^^