/** * HTTP导出 * * @params str $file 导出的文件名 * @params str $data 导出的数据 * @params str $oencode 输出编码,'UTF-8', 'GB2312' */ function http_download($file, $data, $oencode = 'UTF-8') { /* 输出数据导出的文件头 */ http_download_header($file); /* 编码并输出数据 */ echo http_download_encode($data, $oencode); exit; }
require '../../includes/init.php'; require '../../../class/dumpsql.class.php'; /* ------------------------------------------------------ */ // - 查看备份文件 /* ------------------------------------------------------ */ if ($_REQUEST['act'] == 'view') { /* 权限检查 */ admin_privilege_valid('db_backup.php', 'backup'); /* 输出HTML */ echo_sqlfile($_GET['fname'], 'html'); exit; } elseif ($_REQUEST['act'] == 'download') { /* 权限检查 */ admin_privilege_valid('db_backup.php', 'backup'); /* 输出文件下载头 */ http_download_header(preg_replace('/\\.sql\\.php$/', '.sql', $_GET['findex'])); /* 根据索引文件获取所有文件 */ $fnames = all_sqlfile(array('findex' => $_GET['findex'])); /* 输出文件数据 */ foreach ($fnames as $i => $fname) { echo_sqlfile($fname); echo "\r\n\r\n"; } exit; } elseif ($_REQUEST['act'] == 'backup') { /* 权限检查 */ admin_privilege_valid('db_backup.php', 'backup'); /* 生成备份的文件名 */ $tpl['sqlfname'] = DumpSql::getRandName() . '.sql'; /* 生成所有表 */ $tables = $db->getCol("SHOW TABLES");