게시글 수정 시 첨부파일 삭제 안 되게 하는 방법 채택완료
티틴
3년 전
조회 3,305
게시글 수정 -> 기존 첨부파일 된 부분 체크(삭제) -> 확인을 누르면
data에 있는 첨부파일이 삭제되는데요.
혹시 수정하더라도 첨부파일 삭제가 안 되게 하는 방법이 없을까요.
물론, 게시판 상단에 첨부파일은 안 떠야 하구요.
bbs/write.update.php 의 585 라인부근
</p>
<p> </p>
<p> // 삭제에 체크가 되어있다면 파일을 삭제합니다.
if (isset($_POST['bf_file_del'][$i]) && $_POST['bf_file_del'][$i]) {
$upload[$i]['del_check'] = true;</p>
<p> $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;</p>
<p> $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);</p>
<p>
이 부분을 주석처리 해보니, 첨부파일 삭제는 안 되는데,
게시판 상단에 첨부파일 목록은 그대로 있어서 질문드려봅니다..
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
3년 전
// 삭제에 체크가 되어있다면 파일을 삭제합니다.
if (isset($_POST['bf_file_del'][$i]) && $_POST['bf_file_del'][$i]) {
$upload[$i]['del_check'] = false;
여기 바꿔보세요
로그인 후 평가할 수 있습니다
답변에 대한 댓글 6개
�
티틴
3년 전
해보았는데... 똑같습니다 ㅠ 파일삭제 체크하고 확인눌러도 상단에 첨부파일이 그대로 존재하네요 ㅠ
�
리오닥터
3년 전
그럼 애초에 체크박스를 없애면 되지 않나요?
�
티틴
3년 전
유저에게는 첨부파일이 삭제된 것으로 보이게 만들고 싶습니다 ㅠ
�
리오닥터
3년 전
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;
이부분을 아예 주석처리 해버리세요~
$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;
이부분을 아예 주석처리 해버리세요~
�
티틴
3년 전
/*
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;
*/
말씀대로 주석처리 해보았으나 수정, 첨부파일 삭제 눌러도 첨부파일이 그대로 살아있네요 ㅠ
�
리오닥터
3년 전
그러면 if($is_admin) { 조건문 이용해서 업로드는 아예 어드민만 가능하게.. 해놓으면?
if($w == "u") { } << 이게 수정할때 부분이고 여기 내부에 if($is_admin) { } 조건문 넣어서 업로드 로직을 전부다 넣으세요
if($w == "u") { } << 이게 수정할때 부분이고 여기 내부에 if($is_admin) { } 조건문 넣어서 업로드 로직을 전부다 넣으세요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인