웹마스터 팁
게시글을 삭제하면 해당 글 내부에 첨부된 첨부파일이 서버에서 사라지지 않는 버그 수정법
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]에 적용이 되었습니다.
정말 좋은 팁이네요. 코어에 꼭 좀 반영 되었으면...
@XE