웹마스터 팁
게시글을 삭제하면 해당 글 내부에 첨부된 첨부파일이 서버에서 사라지지 않는 버그 수정법
2015.01.05 02:46
원본글 : http://sejin7940.co.kr/index.php?mid=xe_tips&document_srl=102261
=================================================
게시글을 삭제하면 해당 글 내부에 첨부된 첨부파일이 서버에서 사라지지 않는 버그가 있다
원인은 실제 파일삭제하는 함수에서, files DB 의 정보를 조회해서 주소를 찾아서 삭제를 하는데..
글 삭제할때 deleteFiles 함수에서 DB 를 먼저 삭제해버리고 파일을 삭제하려해서 문제가 생긴다.
글수정->첨부된 파일을 파일삭제 하는 건 잘 되는데 (이건 deleteFile) 함수를 쓰니..
글 삭제시 이 문제가 생긴다. ( 관리자->컨텐츠->파일 에서는 지워진것처럼 나와서 더 문제인듯)
modules/file/file.controller.php 에서
function deleteFiles 함수에서
// Remove from the DB
$args = new stdClass();
$args->upload_target_srl = $upload_target_srl;
$output = executeQuery('file.deleteFiles', $args);
if(!$output->toBool()) return $output;
// Delete the file
$path = array();
$file_count = count($file_list);
for($i=0;$i<$file_count;$i++)
{
$this->deleteFile($file_list[$i]->file_srl);
$uploaded_filename = $file_list[$i]->uploaded_filename;
$path_info = pathinfo($uploaded_filename);
if(!in_array($path_info['dirname'], $path)) $path[] = $path_info['dirname'];
}
를 아래걸로 교체하면 된다
// Delete the file
$path = array();
$file_count = count($file_list);
for($i=0;$i<$file_count;$i++)
{
$this->deleteFile($file_list[$i]->file_srl);
$uploaded_filename = $file_list[$i]->uploaded_filename;
$path_info = pathinfo($uploaded_filename);
if(!in_array($path_info['dirname'], $path)) $path[] = $path_info['dirname'];
}
// Remove from the DB
$args = new stdClass();
$args->upload_target_srl = $upload_target_srl;
$output = executeQuery('file.deleteFiles', $args);
if(!$output->toBool()) return $output;
댓글 6
-
socialskyo
2015.01.05 12:36
-
Paul
2015.01.05 14:40
지금껏 삭제를 했는데도 첨부 파일이 서버에 그대로 남아 있었군요. ;; 아무래도 이 문제는 속히 수정이 되어야할것 같습니다. 항상 좋은 팁 감사드립니다!!! -
몽실아빠
2015.01.05 15:56
이렇게 남은 파일들이 콘텐츠-파일-대기 여기에 보여지나요 ? 주기적으로 대기열에 있는 파일을 삭제해 주고 있긴 합니다만....
-
sejin7940
2015.01.05 21:54
콘텐츠-파일 쪽에서 삭제한 경우는 실제 지워지는지는 확인을 안 해봤는데..
문서를 지울때.. 해당파일이 콘텐츠-파일 쪽에는 지워진것처럼 안 나타난다는거죠.
파일 쪽에 안 나타나니 마치 지워진것처럼 보였던건데.. 실제는 안 지워졌던거죠.. ^^;;
-
몽실아빠
2015.01.06 09:04
그럼 지금 지원진 게시물이 많다면 관리자페이지의 대기파일 열에도 보이지 않아 숨어있는 파일이 많겠군요.
-
대암지기
2015.01.08 00:07
[Core 1.7.9]에 적용이 되었습니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
Admin 페이지에서 사이트맵 삭제가 안될 때 | FontBox | 2012.10.06 |
[애드온]글 , 댓글 삭제시 휴지통으로 보내기 [13] | 민채아빠 | 2013.01.16 |
방명록 모듈 1.5.1.1에서 비회원이 남긴글 삭제하기 | 조슈아킴 | 2013.02.14 |
스팸 회원 삭제시 동시에 관련 글 / 댓글 자동 삭제 + 스팸IP 등록기능 구현방법입니다 [20] | sejin7940 | 2013.05.22 |
스케치북5 sns버튼에서 요즘 삭제하기 [6] | 도라미 | 2013.07.07 |
XE 위키 댓글 삭제 오류수정 [1] | 뒤뒤 | 2013.08.03 |
SSL 환경에서 메시지톡 쪽지 보내기, 친구 찾기, 메시지 삭제 등 안될 때 [2] | Arisae | 2013.09.02 |
[수정] 댓글 삭제 간략화하기 [9] | XE만세 | 2013.11.26 |
중복레코드 검색 및 삭제 | ByteCMC | 2014.02.10 |
MySQL Replication 사용중 Binary Log 삭제 하기 | 박희망찬삶 | 2014.07.29 |
관리자설정-> 관리자 메뉴설정 에서 삭제가 안 되는 현상 수정하는 방법 [1] | sejin7940 | 2014.08.11 |
업글타일 모듈에서 fail_to_trash가 뜨지만 삭제는 정상으로 진행된다면 | SeungXE | 2014.10.11 |
phpmyadmin 설치뒤 setup 스크립트는 삭제해야 [1] | YJSoft | 2014.11.12 |
파일첨부 된 글을 게시글 이동시, 사용자정의 값이 전부 삭제되는 버그 패치 [5] | sejin7940 | 2014.11.20 |
파일 삭제시 (글 수정시 파일삭제 / 파일관리에서 삭제 등) 사용자정의값이 삭제되지 않도록 패치 [3] | sejin7940 | 2014.12.11 |
게시글을 삭제하면 해당 글 내부에 첨부된 첨부파일이 서버에서 사라지지 않는 버그 수정법 [6] | sejin7940 | 2015.01.05 |
에디터에서 URL 클릭시 "http://" 삭제하는 방법 [2] | 콜롬보. | 2015.03.13 |
정말 좋은 팁이네요. 코어에 꼭 좀 반영 되었으면...
@XE