Thinkphp数据库在线备份下载和还原【原创

来源:https://www.sucaihuo.com/php/165.html 2015-06-10 08:20浏览(10190) 收藏

本文以实例演示了Thinkphp数据库备份、下载和还原,你也可以简单的改成不基于Thinkphp的框架的PHP代码,很方便的应用到你的后台数据库管理应用中。本文操作表的相关网站:http://www.sucaihuo.com/js/120.html
Thinkphp数据库在线备份下载和还原
分类:PHP > Thinkphp 难易:初级
下载资源 下载积分: 260 积分

我们在首页控制器Index重定向到了Bak控制器中,即数据库管理所有操作方法。备份的数据库放在根目录文件夹databak中,接着引入MySQLReback类。

$DataDir = "databak/";
mkdir($DataDir);
import("Common.Org.MySQLReback");
$mr = new MySQLReback($config);
$mr->setDBName(C('DB_NAME'));

备份:

if ($_GET['Action'] == 'backup') {
    $mr->backup();

   $this->success( '数据库备份成功!');
}

还原:

$mr->recover($_GET['File']);
echo "<script>document.location.href='" . U("Bak/index") . "'</script>";

删除:

if ($_GET['Action'] == 'Del') {
    if (@unlink($DataDir . $_GET['File'])) {
        // $this->success('删除成功!');
        echo "<script>document.location.href='" . U("Bak/index") . "'</script>";
    } else {
        $this->error('删除失败!');
    }
}

读取备份的所有数据库列表

$lists = $this->MyScandir('databak/');

下载:

if ($_GET['Action'] == 'download') {
    function DownloadFile($fileName) {
        ob_end_clean();
        header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Length: ' . filesize($fileName));
        header('Content-Disposition: attachment; filename=' . basename($fileName));
        readfile($fileName);
        }
        DownloadFile($DataDir . $_GET['file']);
        exit();
    }
}

本文主要介绍了数据库的基本操作,下篇文章文件介绍数据库在线安装,敬请关注!

声明:本文为原创文章,如需转载,请注明来源sucaihuo.com并保留原文链接:https://www.sucaihuo.com/php/165.html
评论1
头像

系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791

  • 头像 沙发
    04-26 12:34
    f***k
    嗯嗯 这个效果看起来很不错
1 2