KCP 창업 지원, 수수료 국내최저 2.9% 제공 이벤트!

일정기간에 지나면 첨부된 파일삭제

그누보드5
영카트5
스터디
Q & A
제작의뢰
컨텐츠몰
부가서비스
소모임
커뮤니티
부가서비스
KCP 이벤트!
일정기간에 지나면 첨부된 파일삭제

QA

일정기간에 지나면 첨부된 파일삭제

본문


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 특정게시판에 적용하고 싶을 때
$mtable = array('data01', 'data02');
// 기간
$term = '-2 minute';
foreach($mtable as $t) {
    $mbo_table = $t;
/*
// 전체게시판에 적용하고 싶을때  Start
$sql = "select * from {$g5['board_table']} order by bo_table asc ";
$result = sql_query($sql);
while($data = sql_fetch_array($result)) {
    $mbo_table = $data["bo_table"];
// 전체게시판에 적용하고 싶을때  End
*/
    // 글삭제
    sql_query(" delete from {$g5['write_prefix']}{$mbo_table} where wr_datetime < date_add(now(), interval $term) ");
    // 새글삭제
    sql_query(" delete from {$g5['board_new_table']} where bn_datetime < date_add(now(), interval $term) and bo_table = '{$mbo_table}' ");
    // 스크랩 삭제
    sql_query(" delete from {$g5['scrap_table']} where ms_datetime < date_add(now(), interval $term) and bo_table = '{$mbo_table}' ");
 
    // 업로드된 파일이 있다면
    $sql2 = " select * from {$g5['board_file_table']} where bf_datetime < date_add(now(), interval $term) and bo_table = '{$mbo_table}' ";
    $result2 = sql_query($sql2);
        while ($row2 = sql_fetch_array($result2)) {
        // 파일삭제
        @unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '',$row2['bf_file']));
    }
    // 파일테이블 행 삭제
    sql_query(" delete from {$g5['board_file_table']} where bf_datetime < date_add(now(), interval $term) and bo_table = '{$mbo_table}' ");
    // 추천 삭제
    sql_query(" delete from {$g5['board_good']} where bg_datetime < date_add(now(), interval $term) and bo_table = '{$mbo_table}' ", false);
 

    // 게시판의 글 수
    $sql = " select count(*) as cnt from {$g5['write_prefix']}{$mbo_table} where wr_is_comment = 0 ";
    $row = sql_fetch($sql);
    $bo_count_write = $row['cnt'];
    // 게시판의 코멘트 수
    $sql = " select count(*) as cnt from {$g5['write_prefix']}{$mbo_table} where wr_is_comment = 1 ";
    $row = sql_fetch($sql);
    $bo_count_comment = $row['cnt'];

    if (isset($_POST['proc_count'])) {
        // 원글을 얻습니다.
        //$sql = " select wr_id from {$g5['write_prefix']}{$mbo_table} where wr_is_comment = 0 ";
        $sql = " select a.wr_id, (count(b.wr_parent) - 1) as cnt from {$g5['write_prefix']}{$mbo_table} a, {$g5['write_prefix']}{$mbo_table} b where a.wr_id=b.wr_parent and a.wr_is_comment=0 group by a.wr_id ";
        $result = sql_query($sql);
        for ($i=0; $row=sql_fetch_array($result); $i++) {
            //코멘트수를 얻습니다.
            //$sql2 = " select count(*) as cnt from {$g5['write_prefix']}{$mbo_table} where wr_parent = '{$row['wr_id']}' and wr_is_comment = 1 ";
            //$row2 = sql_fetch($sql2);
            sql_query(" update {$g5['write_prefix']}{$mbo_table} set wr_comment = '{$row['cnt']}' where wr_id = '{$row['wr_id']}' ");
        }
    }
    // 공지사항에는 등록되어 있지만 실제 존재하지 않는 글 아이디는 삭제합니다.
    $bo_notice = '';
    $lf = '';
    if ($board['bo_notice']) {
        $tmp_array = explode(',', $board['bo_notice']);
        for ($i=0; $i<count($tmp_array); $i++) {
            $tmp_wr_id = trim($tmp_array[$i]);
            $row = sql_fetch(" select count(*) as cnt from {$g5['write_prefix']}{$mbo_table} where wr_id = '{$tmp_wr_id}' ");
            if ($row['cnt']) {
                $bo_notice .= $lf . $tmp_wr_id;
                $lf = ',';
            }
        }
    }
    $sql = " update {$g5['board_table']} set ";
    if ($board['bo_notice']) $sql .= " bo_notice = '{$bo_notice}', ";
    $sql .= " bo_count_write = '{$bo_count_write}', ";
    $sql .= " bo_count_comment = '{$bo_count_comment}' ";
    $sql .= " where bo_table = '{$mbo_table}' ";
    sql_query($sql);
}
?>

 

https://sir.kr/g5_tip/6900#c_12827

여기서 참고해서 만들었는데요.

 

 

문제는 첨부된 파일 삭제안되네요.

 

어떻게 하면 첨부된 파일 삭제되게 할 수 있을까요?

 

초짜라 자세히 알려주시면 고맙겠습니다. 

 

읽어주셔서 감사합니다.

 

이 글을 내 페이스북 계정으로 보내기 이 글을 내 트위터 계정으로 보내기

이 질문에 댓글 쓰기 :

답변 1

채택됨

메이드님의 답변

파일삭제,부분의 $bo_table을 $mbo_table로 바꿔보세요

주소복사
채택됨
답변의 댓글
언젠간님의 댓글

    $sql2 = " select * from {$g5['board_file_table']} where bf_datetime < date_add(now(), interval $term) and bo_table = '{$mbo_table}' ";
    $result2 = sql_query($sql2);
        while ($row2 = sql_fetch_array($result2)) {
        // 파일삭제
        @unlink(G5_DATA_PATH.'/file/'.$mbo_table.'/'.str_replace('../', '',$row2['bf_file']));
    }


이렇게요?



확인해보니 삭제되네요.

감사합니다.
답변을 작성하시기 전에 로그인 해주세요.
전체 92,652 | RSS
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

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

© SIRSOFT