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 相关文章推荐
超级好用的一个php上传图片类(随机名,缩略图,加水印)
Jun 30 PHP
php 连接mysql连接被重置的解决方法
Feb 15 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
LotusPhp笔记之:Cookie组件的使用详解
May 06 PHP
yii操作cookie实例简介
Jul 09 PHP
PHP+redis实现添加处理投票的方法
Nov 14 PHP
PHP操作mysql数据库分表的方法
Jun 09 PHP
Yii全局函数用法示例
Jan 22 PHP
PHP实现中国公民身份证号码有效性验证示例代码
May 03 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
Feb 11 PHP
php模式设计之观察者模式应用实例分析
Sep 25 PHP
浅谈laravel orm 中的一对多关系 hasMany
Oct 21 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
将文件夹压缩成zip文件的php代码
2009/12/14 PHP
PHP计划任务之关闭浏览器后仍然继续执行的函数
2010/07/22 PHP
php统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
php将字符串全部转换成大写或者小写的方法
2015/03/17 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
关于php 高并发解决的一点思路
2017/04/16 PHP
PHP实现对图片的反色处理功能【测试可用】
2018/02/01 PHP
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
2016/02/14 Javascript
原生的强大DOM选择器querySelector介绍
2016/12/21 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
js实现短信发送倒计时功能(正则验证)
2017/02/10 Javascript
快速理解 JavaScript 中的 LHS 和 RHS 查询的用法
2017/08/24 Javascript
Node.js JSON模块用法实例分析
2019/01/04 Javascript
Angular封装搜索框组件操作示例
2019/04/25 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
python正则表达式re之compile函数解析
2017/10/25 Python
python正则实现提取电话功能
2018/02/24 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
python异步实现定时任务和周期任务的方法
2019/06/29 Python
python版百度语音识别功能
2019/07/09 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
python可迭代对象去重实例
2020/05/15 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
2020/11/27 Python
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
如何提高JDBC的性能
2013/04/30 面试题
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
金融专业应届生求职信
2013/11/02 职场文书
经典优秀毕业生求职信范文分享
2013/12/18 职场文书
政治表现评语
2014/05/04 职场文书
2014年小学数学工作总结
2014/12/12 职场文书
员工升职自荐信
2015/03/27 职场文书
2015年机关党委工作总结
2015/05/23 职场文书
原来实习报告是这样写的呀!
2019/07/03 职场文书
《狼王梦》读后感:可怜天下父母心
2019/11/01 职场文书