⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 backup.php

📁 通达OA2007SE源代码 非常好的
💻 PHP
字号:
<?
  include_once 'inc/auth.php';
  echo '
<html>
<head>
<title>数据库热备份</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body class="bodycolor" topmargin="5">
<br>
';
  $query = 'SHOW VARIABLES';
  $cursor = exequery ($connection, $query);
  while ($ROW = mysql_fetch_array ($cursor))
  {
    if ((strtolower ($ROW['Variable_name']) == 'datadir'))
    {
      $DATA_DIR = $ROW['Value'];
      break;
    }
  }
  if (($DATA_DIR == ''))
  {
    $DATA_DIR = 'D:/MYOA/data/';
  }
  ($DATA_DIR .= $MYSQL_DB);
  $handle = opendir ($DATA_DIR);
  if (!$handle)
  {
    message ('错误', (('不能打开数据库目录('.$DATA_DIR).')'));
    exit ();
  }
  $FILE_COUNT = 0;
  while ((false !== $FILE_NAME = readdir ($handle)))
  {
    if (((($FILE_NAME == '.') OR ($FILE_NAME == '..')) OR is_dir ((($DATA_DIR.'/').$FILE_NAME))))
    {
      continue;
    }
    else
    {
      $EXT_NAME = strtolower (substr ($FILE_NAME, -4));
      if (((($EXT_NAME != '.frm') AND ($EXT_NAME != '.myd')) AND ($EXT_NAME != '.myi')))
      {
        continue;
      }
      else
      {
        $FILE_ARRAY[$FILE_COUNT++] = $FILE_NAME;
        continue;
      }
      continue;
    }
  }
  closedir ($handle);
  if (($FILE_COUNT == 0))
  {
    message ('错误', (('目录('.$DATA_DIR).')下无数据库文件'));
    exit ();
  }
  $BACKUP_DIR = (realpath (($DATA_DIR.'/../../')).'/bak');
  if ((!file_exists ($BACKUP_DIR) OR !is_dir ($BACKUP_DIR)))
  {
    mkdir ($BACKUP_DIR);
  }
  ($BACKUP_DIR .= (('/'.$MYSQL_DB).date ('YmdHis', time ())));
  if (!mkdir ($BACKUP_DIR))
  {
    message ('错误', (('创建备份目录('.$BACKUP_DIR).')失败'));
    exit ();
  }
  $pagestarttime = microtime ();
  $query = 'FLUSH TABLES WITH READ LOCK ';
  exequery ($connection, $query);
  for ($I = 0; ($I < count ($FILE_ARRAY)); ++$I)
  {
    if (!copy ((($DATA_DIR.'/').$FILE_ARRAY[$I]), (($BACKUP_DIR.'/').$FILE_ARRAY[$I])))
    {
      ($FAIL_FILE .= ($FILE_ARRAY[$I].','));
      --$FILE_COUNT;
      continue;
    }
  }
  $query = 'UNLOCK TABLES';
  exequery ($connection, $query);
  message ('', (((('共'.$FILE_COUNT).'个文件备份成功,文件备份至“').str_replace ('\\', '/', $BACKUP_DIR)).'”'));
  if (($FILE_COUNT != count ($FILE_ARRAY)))
  {
    message ('', ('以下文件备份失败:'.substr ($FAIL_FILE, 0, -1)));
  }
  button_back ();
  echo '</body>
</html>
';
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -