게시글 삭제시 섬네일까지 삭제하기 정보
게시글 삭제시 섬네일까지 삭제하기본문
팁이랄것까지는 없지만,
그래도 모르시는 분들을 위해서 올려 봅니다..
현재 그누보드4는 게시글을 삭제하면 첨부파일은 삭제가 되는데
섬네일은 삭제가 안되더군요..
섬네일까지 깨끗하게 삭제하는 방법은 의외로 간단합니다..
보통 섬네일이 만들어지는것을 보면 문서아이디로 만들어지더군요..
그 디렉토리를 찾아가서 삭제하도록 만들어 봤습니다.
bbs/delete.php 파일의 75번줄 부근
bbs/delete_all.php 파일의 92번줄 부근
bbs/write_update.php 파일의 155번줄 부근
// 파일삭제
@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]"); //최근게시물 썸네일 삭제
위의 소스 두줄을 추가로 넣어주시면 게시글 삭제시 섬네일까지 깨끗하게 삭제가 됩니다...
첨부이미지 교체시에도 섬네일이 바로 교체 됩니다...
그래도 모르시는 분들을 위해서 올려 봅니다..
현재 그누보드4는 게시글을 삭제하면 첨부파일은 삭제가 되는데
섬네일은 삭제가 안되더군요..
섬네일까지 깨끗하게 삭제하는 방법은 의외로 간단합니다..
보통 섬네일이 만들어지는것을 보면 문서아이디로 만들어지더군요..
그 디렉토리를 찾아가서 삭제하도록 만들어 봤습니다.
bbs/delete.php 파일의 75번줄 부근
bbs/delete_all.php 파일의 92번줄 부근
bbs/write_update.php 파일의 155번줄 부근
// 파일삭제
@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
3
댓글 33개
첨부파일 교체시에도 적용하려면 write_update.php 파일에도 추가하여야 하므로
본문내용 수정했습니다.
본문내용 수정했습니다.
수고하셨습니다.
썸네일 관련 고민이 한번에 해결되겠네요^^
썸네일 관련 고민이 한번에 해결되겠네요^^
좋은팁 감사합니다.
그럼 글삭제시와 글수정에서 파일교체가 아닌
글수정에서 글은 그대로두고 업로드되어있는 이미지파일만 삭제를 하고 글수정완료하구 나오면 썸네일은 안지워지던데 이건 어떻게 하면되나요?
글수정에서 글은 그대로두고 업로드되어있는 이미지파일만 삭제를 하고 글수정완료하구 나오면 썸네일은 안지워지던데 이건 어떻게 하면되나요?
bbs/write_update.php 파일까지 수정하셨다면
글만 수정하고 이미지파일 삭제에 체크하시면 섬네일도 삭제가 됩니다...
단, 섬네일 파일의 폴더명을 다르게 만든 스킨을 사용했을경우는 그에 맞게 위의 소스도
@unlink("$g4[path]/data/file/$bo_table/섬네일 폴더명/$write[wr_id]"); //썸네일 삭제
@unlink("$g4[path]/data/file/$bo_table/최근게시물섬네일폴더명/$write[wr_id]"); //최근게시물 썸네일 삭제
이런방식으로 변경해줘야 합니다..
글만 수정하고 이미지파일 삭제에 체크하시면 섬네일도 삭제가 됩니다...
단, 섬네일 파일의 폴더명을 다르게 만든 스킨을 사용했을경우는 그에 맞게 위의 소스도
@unlink("$g4[path]/data/file/$bo_table/섬네일 폴더명/$write[wr_id]"); //썸네일 삭제
@unlink("$g4[path]/data/file/$bo_table/최근게시물섬네일폴더명/$write[wr_id]"); //최근게시물 썸네일 삭제
이런방식으로 변경해줘야 합니다..
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 자신만의 코드를 넣어주세요.
//print_r2($_FILES); exit;
$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb';
if ($_FILES[bf_file][name][0])
{
$row = sql_fetch(" select * from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '0' ");
$file = $data_path .'/'. $row[bf_file];
if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file))
{
$size = getimagesize($file);
if ($size[2] == 1)
$src = imagecreatefromgif($file);
else if ($size[2] == 2)
$src = imagecreatefromjpeg($file);
else if ($size[2] == 3)
$src = imagecreatefrompng($file);
else
break;
$rate = $board[bo_1] / $size[0];
$height = (int)($size[1] * $rate);
@unlink($thumb_path.'/'.$wr_id);
$dst = imagecreatetruecolor($board[bo_1], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
imagepng($dst, $thumb_path.'/'.$wr_id, $board[bo_2]);
chmod($thumb_path.'/'.$wr_id, 0606);
}
}
?>
썸네일 기본스킨인데 글작성에서 이미지를 올려놓고 글수정으로 다른이미지로 변경시나 글삭제시는 썸네일이 지워지던데 글수정으로 들어가서 이미지삭제만 체크하고 글수정완료하면 만들어져있던 썸네일은 안지워지던데요?
글에서 이미지는 삭제로 아무것도없는데 리스트상에서는 썸네일이 그대로 보여지구요..
썸네일 생성디렉토리에도 그대로 남아있던데요....
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 자신만의 코드를 넣어주세요.
//print_r2($_FILES); exit;
$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb';
if ($_FILES[bf_file][name][0])
{
$row = sql_fetch(" select * from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '0' ");
$file = $data_path .'/'. $row[bf_file];
if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file))
{
$size = getimagesize($file);
if ($size[2] == 1)
$src = imagecreatefromgif($file);
else if ($size[2] == 2)
$src = imagecreatefromjpeg($file);
else if ($size[2] == 3)
$src = imagecreatefrompng($file);
else
break;
$rate = $board[bo_1] / $size[0];
$height = (int)($size[1] * $rate);
@unlink($thumb_path.'/'.$wr_id);
$dst = imagecreatetruecolor($board[bo_1], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
imagepng($dst, $thumb_path.'/'.$wr_id, $board[bo_2]);
chmod($thumb_path.'/'.$wr_id, 0606);
}
}
?>
썸네일 기본스킨인데 글작성에서 이미지를 올려놓고 글수정으로 다른이미지로 변경시나 글삭제시는 썸네일이 지워지던데 글수정으로 들어가서 이미지삭제만 체크하고 글수정완료하면 만들어져있던 썸네일은 안지워지던데요?
글에서 이미지는 삭제로 아무것도없는데 리스트상에서는 썸네일이 그대로 보여지구요..
썸네일 생성디렉토리에도 그대로 남아있던데요....
CHEDITOR의 업로드된 이미지 삭제에 응용할 수 있을지도!
감사합니다.
DQ_Engine 갤러리를 사용하시는 분들은 아래와 같이 바꾸셔야 됩니다.
@unlink("$g4[path]/data/file/$bo_table/wr_$write[wr_id].thumb"); //썸네일 삭제
@unlink("$g4[path]/data/file/$bo_table/latest_thumb/$write[wr_id]"); //최근게시물 썸네일 삭제
그런데 이상하게 글 수정을 한뒤 글 보기에서 리스트로 가면 이전 썸네일이 나오는데, 새로고침을 해야 새로 등록된 썸네일로 출력되네요..
그 문제는 좀더 연구해 봐야 할듯 싶습니다.
@unlink("$g4[path]/data/file/$bo_table/wr_$write[wr_id].thumb"); //썸네일 삭제
@unlink("$g4[path]/data/file/$bo_table/latest_thumb/$write[wr_id]"); //최근게시물 썸네일 삭제
그런데 이상하게 글 수정을 한뒤 글 보기에서 리스트로 가면 이전 썸네일이 나오는데, 새로고침을 해야 새로 등록된 썸네일로 출력되네요..
그 문제는 좀더 연구해 봐야 할듯 싶습니다.
ㅎㅎ 해결했습니다. Photofly님의 팁대로 했는데 왜 안될까하고 2시간 잡고 있다가
앗 ! 초보의 실수를 발견했습니다.ㅜㅜ
@unlink("$g4[path]/data/file/$bo_table/thumb/$write[wr_id]"); //썸네일 삭제
이부분에서 저의 경우는 thumb파일명이 thumb100으로 되있더군요..고치고..다시시험.. 또 안되더군요..헉ㅜㅜ;;
이상타 이젠 틀린거 없는거 같은데.. 한참 고민하다
@unlink("$g4[path]/data/file/$bo_table/thumb100/$wr_id"); 이케 바꿔 봗는에 되더군요...
솔직히 되는 원리는 모르겠지만 .. 된다는데 기쁨이 넘침니다..^^
Photofly님 감솨 합니다.~
앗 ! 초보의 실수를 발견했습니다.ㅜㅜ
@unlink("$g4[path]/data/file/$bo_table/thumb/$write[wr_id]"); //썸네일 삭제
이부분에서 저의 경우는 thumb파일명이 thumb100으로 되있더군요..고치고..다시시험.. 또 안되더군요..헉ㅜㅜ;;
이상타 이젠 틀린거 없는거 같은데.. 한참 고민하다
@unlink("$g4[path]/data/file/$bo_table/thumb100/$wr_id"); 이케 바꿔 봗는에 되더군요...
솔직히 되는 원리는 모르겠지만 .. 된다는데 기쁨이 넘침니다..^^
Photofly님 감솨 합니다.~
원리는 다른거 없습니다..
스킨 제작자분이 섬네일생성소스에 폴더명을 어떻게 만드느냐에 따라서 섬네일 폴더명이 다르게 생성됩니다.
@unlink("$g4[path]/data/file/$bo_table/thumb/$write[wr_id]"); //썸네일 삭제
이부분에서
@unlink("$g4[path]/data/file/$bo_table/폴더명/$write[wr_id]"); //썸네일 삭제
폴더명이라고 되어있는 부분을 맞춰주시면 됩니다.
하지만, 섬네일 폴더명이 다를경우 이렇게 하는것 보다는
해당스킨에서 폴더명생성소스를 수정하시는것이 더 좋습니다.
그래야만 그누보드의 원본을 빈번히 수정하지않고 위의 팁을 잘 활용할수 있거든요..
스킨 제작자분이 섬네일생성소스에 폴더명을 어떻게 만드느냐에 따라서 섬네일 폴더명이 다르게 생성됩니다.
@unlink("$g4[path]/data/file/$bo_table/thumb/$write[wr_id]"); //썸네일 삭제
이부분에서
@unlink("$g4[path]/data/file/$bo_table/폴더명/$write[wr_id]"); //썸네일 삭제
폴더명이라고 되어있는 부분을 맞춰주시면 됩니다.
하지만, 섬네일 폴더명이 다를경우 이렇게 하는것 보다는
해당스킨에서 폴더명생성소스를 수정하시는것이 더 좋습니다.
그래야만 그누보드의 원본을 빈번히 수정하지않고 위의 팁을 잘 활용할수 있거든요..
감사합니다.^^
이상하네요..전 아무것도 건드린적 없는데도 목록에서 썸네일,.최근 게시글에서 썸네일 다 그냥 지워지던데...
팁 감사드려요 전 잘 되는군요..
안 그래도 많이 쌓여서 걱정했는데 한 방에 해결을 했네요..
Photofly 님 Thanks~
안 그래도 많이 쌓여서 걱정했는데 한 방에 해결을 했네요..
Photofly 님 Thanks~
감사합니다....
감사합니다.
그냥 편하게
@unlink("$g4[path]/data/file/$bo_table/thumb/$write[wr_id]"); //썸네일 삭제
@unlink("$g4[path]/data/file/$bo_table/thumb100/$write[wr_id]"); //썸네일 삭제
@unlink("$g4[path]/data/file/$bo_table/thumb54/$write[wr_id]"); //썸네일 삭제
@unlink("$g4[path]/data/file/$bo_table/latest_thumb/$write[wr_id]"); //최근게시물 썸네일 삭제
하니까 여러 셈네일이 같이 처리가 되네요
그냥 편하게
@unlink("$g4[path]/data/file/$bo_table/thumb/$write[wr_id]"); //썸네일 삭제
@unlink("$g4[path]/data/file/$bo_table/thumb100/$write[wr_id]"); //썸네일 삭제
@unlink("$g4[path]/data/file/$bo_table/thumb54/$write[wr_id]"); //썸네일 삭제
@unlink("$g4[path]/data/file/$bo_table/latest_thumb/$write[wr_id]"); //최근게시물 썸네일 삭제
하니까 여러 셈네일이 같이 처리가 되네요
감사합니다 아주 잘되네요
좋은팁 감사합니다`~~
수고하셨습니다.
수고하셨습니다.
수고하셨습니다.
수고하셨습니다.
수고하셨습니다.
잘되네요. 감사드립니다.^^
아~ 좋은정보 감사합니다..스킨적용중에 꼭 필요했었는데..^^
감사합니다^^ 게시물을 수정했는데, 섬네일이 그대로라, 뭐가 잘못됬는가..했어요^^
겁나게 중요
그렇군요.. 감사합니다.
'하파다이'님 말씀처럼 [이미지 삭제]만 하는 경우에는 썸네일이 지워지지 않습니다.
/bbs/write_update.php 의 120번째 줄 부근을 찾아보면 아래 내용이 있습니다.
@unlink("$g4[path]/data/file/$bo_table/$row[bf_file]");
그 밑에다가 아래 두 줄 추가하시면 해결됩니다.
@unlink("$g4[path]/data/file/$bo_table/섬네일 폴더명/$write[wr_id]"); //썸네일 삭제
@unlink("$g4[path]/data/file/$bo_table/최근게시물섬네일폴더명/$write[wr_id]"); //최근게시물 썸네일 삭제
/bbs/write_update.php 의 120번째 줄 부근을 찾아보면 아래 내용이 있습니다.
@unlink("$g4[path]/data/file/$bo_table/$row[bf_file]");
그 밑에다가 아래 두 줄 추가하시면 해결됩니다.
@unlink("$g4[path]/data/file/$bo_table/섬네일 폴더명/$write[wr_id]"); //썸네일 삭제
@unlink("$g4[path]/data/file/$bo_table/최근게시물섬네일폴더명/$write[wr_id]"); //최근게시물 썸네일 삭제
게시글 삭제시 섬네일까지 삭제하기
코멘트
코멘트
꾸벅
고맙습니다^^
오 감사!
정말 감사합니다^^
윗분들 말씀중에 글수정을 통해 이미지만 삭제할 경우 최신글 썸네일이 사라지지 않는 현상이 있는데,
이는 업로더의 종류에 따라 다른것 같습니다.
저같은 경우는 지업로더를 사용할 경우 위와 같은 문제가 발생하고 있으며,
기본적인 업로드(개별)를 할경우 정상적으로 삭제가 되네요.
또는 썸네일을 저장하는 엔진이 다를 경우에도 이와같은 문제점이 발생하는 것 같습니다.
전 일단 지업로더의 delete 부분으로 들어가 같은 경로에 알려주신 삭제 코드 추가로 해결은 했습니다만, 새로고침을 해야 정상적으로 변경이 되는군요.
이는 업로더의 종류에 따라 다른것 같습니다.
저같은 경우는 지업로더를 사용할 경우 위와 같은 문제가 발생하고 있으며,
기본적인 업로드(개별)를 할경우 정상적으로 삭제가 되네요.
또는 썸네일을 저장하는 엔진이 다를 경우에도 이와같은 문제점이 발생하는 것 같습니다.
전 일단 지업로더의 delete 부분으로 들어가 같은 경로에 알려주신 삭제 코드 추가로 해결은 했습니다만, 새로고침을 해야 정상적으로 변경이 되는군요.
아주 좋습니다 한방에 해결햇네요
너무너무 감사합니다
너무너무 감사합니다
감사합니다 바로 테스트해봐야겠네요 ㅎㅎ