Files
firstgarden-web-gnu/adm/repair.php
2012-11-05 13:32:28 +09:00

84 lines
2.8 KiB
PHP

<?
$sub_menu = "100700";
include_once('./_common.php');
if ($is_admin != 'super')
alert('최고관리자만 접근 가능합니다.', $g4['path']);
$g4['title'] = '테이블 복구 및 최적화';
include_once('./admin.head.php');
echo '\'완료\' 메세지가 나오기 전에 프로그램의 실행을 중지하지 마십시오.<br>';
echo '<span id="ct"></span>';
include_once('./admin.tail.php');
flush();
// 설정일이 지난 접속자로그 삭제
$tmp_before_date = date("Y-m-d", $g4['server_time'] - ($config['cf_visit_del'] * 86400));
$sql = " delete from {$g4['visit_table']} where vi_date < '$tmp_before_date' ";
sql_query($sql);
sql_query(" OPTIMIZE TABLE `{$g4['visit_table']}`, `{$g4['visit_sum_table']}` ");
// 설정일이 지난 인기검색어 삭제
$tmp_before_date = date("Y-m-d", $g4['server_time'] - ($config['cf_popular_del'] * 86400));
$sql = " delete from {$g4['popular_table']} where pp_date < '$tmp_before_date' ";
sql_query($sql);
sql_query(" OPTIMIZE TABLE `{$g4['popular_table']}` ");
// 설정일이 지난 최근게시물 삭제
$sql = " delete from {$g4['board_new_table']} where (TO_DAYS('{$g4['time_ymdhis']}') - TO_DAYS(bn_datetime)) > '{$config['cf_new_del']}' ";
sql_query($sql);
sql_query(" OPTIMIZE TABLE `{$g4['board_new_table']}` ");
// 설정일이 지난 쪽지 삭제
$sql = " delete from {$g4['memo_table']} where (TO_DAYS('{$g4['time_ymdhis']}') - TO_DAYS(me_send_datetime)) > '{$config['cf_memo_del']}' ";
sql_query($sql);
sql_query(" OPTIMIZE TABLE `{$g4['memo_table']}` ");
// 탈퇴회원 자동 삭제
$sql = " select mb_id from {$g4['member_table']} where (TO_DAYS('{$g4['time_ymdhis']}') - TO_DAYS(mb_leave_date)) > '{$config['cf_leave_day']}' ";
$result = sql_query($sql);
while ($row=sql_fetch_array($result))
{
// 회원자료 삭제
member_delete($row['mb_id']);
}
$sql = "SHOW TABLE STATUS FROM ".$mysql_db;
$result = sql_query($sql);
while($row = sql_fetch_array($result))
{
$str = '';
$tbl = $row['Name'];
$sql1 = " SELECT COUNT(*) FROM `$tbl` ";
$result1 = @mysql_query($sql1);
if (!$result1)
{
// 테이블 복구
$sql2 = " REPAIR TABLE `$tbl` ";
sql_query($sql2);
$str .= $sql2 . "<br/>";
}
if($row['Data_free'] == 0) continue;
// 테이블 최적화
$sql3 = " OPTIMIZE TABLE `$tbl` ";
sql_query($sql3);
$str .= $sql3 . "<br/>";
echo "<script>document.getElementById('ct').innerHTML += '$str';</script>\n";
flush();
/*
for($i = 0; $i < 40 - strlen($tbl); $i ++) echo " ";
echo "\t";
for($i = 0; $i < 9 - strlen($row['Data_free']); $i ++) echo " ";
echo $row['Data_free']." OPTIMIZED\n";
*/
}
echo "<script>document.getElementById('ct').innerHTML += '<br><br>테이블 복구 및 최적화 완료.<br><br>프로그램의 실행을 끝마치셔도 좋습니다.';</script>\n";
?>