게시글 수정 시 첨부파일 삭제 안 되게 하는 방법

게시글 수정 시 첨부파일 삭제 안 되게 하는 방법

QA

게시글 수정 시 첨부파일 삭제 안 되게 하는 방법

본문

게시글 수정 -> 기존 첨부파일 된 부분 체크(삭제) -> 확인을 누르면

 

data에 있는 첨부파일이 삭제되는데요.

 

혹시 수정하더라도 첨부파일 삭제가 안 되게 하는 방법이 없을까요. 

 

물론, 게시판 상단에 첨부파일은 안 떠야 하구요. 

 

 

 

bbs/write.update.php 의 585 라인부근

 


 
    // 삭제에 체크가 되어있다면 파일을 삭제합니다.
        if (isset($_POST['bf_file_del'][$i]) && $_POST['bf_file_del'][$i]) {
            $upload[$i]['del_check'] = true;
            $row = sql_fetch(" select bf_file from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '{$i}' ");
            @unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.$row['bf_file']);
            // 썸네일삭제
            if(preg_match("/\.({$config['cf_image_extension']})$/i", $row['bf_file'])) {
                delete_board_thumbnail($bo_table, $row['bf_file']);
            }
        }
        else
            $upload[$i]['del_check'] = false;
        $tmp_file  = $_FILES['bf_file']['tmp_name'][$i];
        $filesize  = $_FILES['bf_file']['size'][$i];
        $filename  = $_FILES['bf_file']['name'][$i];
        $filename  = get_safe_filename($filename);

 

이 부분을 주석처리 해보니, 첨부파일 삭제는 안 되는데, 

 

게시판 상단에 첨부파일 목록은 그대로 있어서 질문드려봅니다..

이 질문에 댓글 쓰기 :

답변 2

// 삭제에 체크가 되어있다면 파일을 삭제합니다.
        if (isset($_POST['bf_file_del'][$i]) && $_POST['bf_file_del'][$i]) {
            $upload[$i]['del_check'] = false;

 

 

여기 바꿔보세요

if (isset($_POST['bf_file_del'][$i]) && $_POST['bf_file_del'][$i]) {
            $upload[$i]['del_check'] = true;
            $row = sql_fetch(" select bf_file from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '{$i}' ");
            @unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.$row['bf_file']);
            // 썸네일삭제
            if(preg_match("/\.({$config['cf_image_extension']})$/i", $row['bf_file'])) {
                delete_board_thumbnail($bo_table, $row['bf_file']);
            }
        }
        else
            $upload[$i]['del_check'] = false;

이부분을 아예 주석처리 해버리세요~

/*
if (isset($_POST['bf_file_del'][$i]) && $_POST['bf_file_del'][$i]) {
$upload[$i]['del_check'] = true;

$row = sql_fetch(" select bf_file from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '{$i}' ");
@unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.$row['bf_file']);
// 썸네일삭제
if(preg_match("/\.({$config['cf_image_extension']})$/i", $row['bf_file'])) {
delete_board_thumbnail($bo_table, $row['bf_file']);
}
}
else
$upload[$i]['del_check'] = false;
*/

말씀대로  주석처리 해보았으나 수정, 첨부파일 삭제 눌러도 첨부파일이 그대로 살아있네요 ㅠ

그러면 if($is_admin) { 조건문 이용해서 업로드는 아예 어드민만 가능하게.. 해놓으면?
if($w == "u") { } << 이게 수정할때 부분이고 여기 내부에 if($is_admin) { } 조건문 넣어서 업로드 로직을 전부다 넣으세요

첨부파일에서 뭔가 하는것보단

회원이 파일 삭제 체크 했을 경우 여분필드에 기록해 두었다가 

view.php 에서 관리자이며 여분필드에 기록이 있을 경우 노출 되게 하는게 

나을것 같습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 110
QA 내용 검색

회원로그인

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