TP5框架实现的数据库备份功能示例


Posted in PHP onApril 05, 2020

本文实例讲述了TP5框架实现的数据库备份功能。分享给大家供大家参考,具体如下:

1、效果图

TP5框架实现的数据库备份功能示例

2、下载扩展类(  \extands\org\Baksql.php)

3、在  \public\static  里新建一个data 文件夹用来存放 .sql  的文件

4、使用方法

controller

<?php
namespace app\index\controller;
 
use think\Controller;
 
class Backup extends Controller
{
 //数据库备份
 public function bak(){
  $type=input("tp");
  $name=input("name");
  $sql=new \org\Baksql(\think\Config::get("database"));
  switch ($type)
  {
   case "backup": //备份
    $info = $sql->backup();
    $this->success("$info",'index/backup/bak');
    break;
   case "dowonload": //下载
    $info = $sql->downloadFile($name);
    $this->success("$info",'index/backup/bak');
    break;
   case "restore": //还原
    $info = $sql->restore($name);
    $this->success("$info",'index/backup/bak');
    break;
   case "del": //删除
    $info = $sql->delfilename($name);
    $this->success("$info",'index/backup/bak');
    break;
   default: //获取备份文件列表
    return $this->fetch("bak",["list"=>$sql->get_filelist()]);
  }
 }
}

view

<!--我用的是 H+ 的模板,样式可以自己调-->
<body class="gray-bg">
<div class="wrapper wrapper-content animated fadeInRight">
 <div class="row">
  <div class="col-sm-12">
   <div class="ibox float-e-margins">
    <div class="ibox-title">
     <h5>数据库备份</h5>
     <div class="ibox-tools">
      <a class="collapse-link">
       <i class="fa fa-chevron-up"></i>
      </a>
     </div>
    </div>
    <div class="ibox-content">
     <div class="">
      <a class="btn btn-primary " href="{:url('bak',['tp'=>'backup'])}" rel="external nofollow" οnclick="return confirm('备份数据的时间较长,确定要备份所有数据吗?')"><i class="glyphicon glyphicon-plus"></i> <span class="bold">添加备份</span></a>
     </div>
     <table class="table table-striped table-bordered table-hover dataTables-example" style="text-align: center">
      <thead>
      <tr>
       <td>序号</td>
       <td>备份名称</td>
       <td>备份时间</td>
       <td>备份大小</td>
       <td>操作</td>
      </tr>
      </thead>
      <tbody>
      {volist name="list" id="vo"}
      <tr class="gradeX" >
       <td>{$key+1}</td>
       <td>{$vo.name}</td>
       <td>{$vo.time}</td>
       <td>{$vo.size}</td>
       <td width="25%">
        <a href="{:url('bak',['tp'=>'dowonload','name'=>$vo.name])}" rel="external nofollow" class="btn btn-success "><i class="glyphicon glyphicon-download-alt"></i> <span class="bold">下载</span></a>
        <a href="{:url('bak',['tp'=>'restore','name'=>$vo.name])}" rel="external nofollow" class="btn btn-info " οnclick="return confirm('备份还原后仅会显示当前备份的数据库的信息,您确定还原备份吗 ?')"><i class="glyphicon glyphicon-repeat"></i> <span class="bold">还原</span></a>
        <a href="{:url('bak',['tp'=>'del','name'=>$vo.name])}" rel="external nofollow" class="btn btn-warning" οnclick="return confirm('数据库备份一旦删除不可找回,您确定操作吗?')"><i class="fa fa-warning"></i> <span class="bold">删除</span></a>
       </td>
      </tr>
      {/volist}
      </tbody>
     </table>
    </div>
   </div>
  </div>
 </div>
</div> 
</body>

5、Refresh the web page!!!over,over,over

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
ftp类(myftp.php)
Oct 09 PHP
PHP 学习路线与时间表
Feb 21 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
Jun 28 PHP
php smarty模板引擎的6个小技巧
Apr 24 PHP
跟我学Laravel之视图 &amp; Response
Oct 15 PHP
PHP实现HTML生成PDF文件的方法
Nov 07 PHP
php+mysql数据库查询实例
Jan 21 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
Dec 21 PHP
php 指定范围内多个随机数代码实例
Jul 18 PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 PHP
PHP实现Huffman编码/解码的示例代码
Apr 20 PHP
PHP观察者模式定义与用法实例分析
Mar 22 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 #PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 #PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 #PHP
thinkphp框架表单数组实现图片批量上传功能示例
Apr 04 #PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 #PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 #PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 #PHP
You might like
snoopy PHP版的网络客户端提供本地下载
2008/04/15 PHP
PHP运行模式的深入理解
2013/06/03 PHP
php实现简单的MVC框架实例
2015/09/23 PHP
php字符串函数 str类常见用法示例
2020/05/15 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
ExtJS 2.0 实用简明教程之布局概述
2009/04/29 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
jQuery的cookie插件实现保存用户登陆信息
2014/04/15 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
2014/07/01 Javascript
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
jQuery输入框密码的显示隐藏【代码分享】
2017/04/29 jQuery
vue v-for 使用问题整理小结
2019/08/04 Javascript
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
js时间转换毫秒的实例代码
2019/08/21 Javascript
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
使用Python的Flask框架构建大型Web应用程序的结构示例
2016/06/04 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
2016/06/16 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
Pandas 合并多个Dataframe(merge,concat)的方法
2018/06/08 Python
Python基于OpenCV实现人脸检测并保存
2019/07/23 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
爬虫代理池Python3WebSpider源代码测试过程解析
2019/12/20 Python
python实现信号时域统计特征提取代码
2020/02/26 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
妇产医师自荐信
2014/01/29 职场文书
《争吵》教学反思
2014/02/15 职场文书
小学六年级学生评语
2014/04/22 职场文书
小学领导班子对照材料
2014/08/23 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
大学生年度个人总结
2015/02/15 职场文书
2015年公路养护工作总结
2015/05/13 职场文书