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制作静态网站的模板框架(三)
Oct 09 PHP
php adodb连接带密码access数据库实例,测试成功
May 14 PHP
php在页面中调用fckeditor编辑器的方法
Jun 10 PHP
10个实用的PHP代码片段
Sep 02 PHP
php 搜索框提示(自动完成)实例代码
Feb 05 PHP
PHP filter_var() 函数 Filter 函数
Apr 25 PHP
php循环语句 for()与foreach()用法区别介绍
Sep 05 PHP
php中get_headers函数的作用及用法的详细介绍
Apr 27 PHP
php猴子选大王问题解决方法
May 12 PHP
非常实用的php验证码类
May 15 PHP
php fseek函数读取大文件两种方法
Oct 12 PHP
laravel框架与其他框架的详细对比
Oct 23 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
PHP 的 __FILE__ 常量
2007/01/15 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
Yii框架分页技术实例分析
2019/08/30 PHP
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
2013/02/22 Javascript
JavaScript对Cookie进行读写操作实例
2015/07/25 Javascript
js简单网速测试方法完整实例
2015/12/15 Javascript
详解微信小程序 wx.uploadFile 的编码坑
2017/01/23 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
javascript 数据存储的常用函数总结
2017/06/01 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
vue项目引入Iconfont图标库的教程图解
2018/10/24 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
vue日历/日程提醒/html5本地缓存功能
2019/09/02 Javascript
js实现窗口全屏示例详解
2019/09/17 Javascript
js页面加载后执行的几种方式小结
2020/01/30 Javascript
基于js实现数组相邻元素上移下移
2020/05/19 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
使用Python的Flask框架实现视频的流媒体传输
2015/03/31 Python
Python中文竖排显示的方法
2015/07/28 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
详解Python3.6的py文件打包生成exe
2018/07/13 Python
基于Python实现天天酷跑功能
2021/01/06 Python
python中time tzset()函数实例用法
2021/02/18 Python
需要知道的CSS3动画技术
2010/01/01 HTML / CSS
详解如何用HTML5 Canvas API控制图片的缩放变换
2016/03/22 HTML / CSS
美国医生配方营养补充剂供应商:Healthy Directions
2019/07/10 全球购物
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
技术总监的工作职责
2013/11/13 职场文书
酒店营销策划方案
2014/02/07 职场文书
校园演讲稿汇总
2014/05/21 职场文书
求职导师推荐信范文
2015/03/27 职场文书
2015年社区卫生工作总结
2015/04/21 职场文书
python函数指定默认值的实例讲解
2021/03/29 Python
Python中第三方库Faker的使用详解
2022/04/02 Python
Hive导入csv文件示例
2022/06/25 数据库