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

 更新时间:2020年04月05日 08:58:56   作者:Anwug!  
这篇文章主要介绍了TP5框架实现的数据库备份功能,结合实例形式分析了TP5数据库备份功能相关原理及实现方法,需要的朋友可以参考下

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

1、效果图

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相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

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

相关文章

  • PHP学习记录之面向对象(Object-oriented programming,OOP)基础【接口、抽象类、静态方法等】

    PHP学习记录之面向对象(Object-oriented programming,OOP)基础【接口、抽象类、静态方法等

    这篇文章主要介绍了PHP学习记录之面向对象(Object-oriented programming,OOP)基础,结合实例形式分析了PHP面向对象程序设计中接口、抽象类、静态方法等相关概念、原理、用法与操作注意事项,需要的朋友可以参考下
    2019-12-12
  • CodeIgniter框架实现的整合Smarty引擎DEMO示例

    CodeIgniter框架实现的整合Smarty引擎DEMO示例

    这篇文章主要介绍了CodeIgniter框架实现的整合Smarty引擎DEMO,结合实例形式分析了CodeIgniter框架整合Smarty引擎的原理、操作步骤及相关实现技巧,需要的朋友可以参考下
    2019-03-03
  • php出租房数据管理及搜索页面

    php出租房数据管理及搜索页面

    这篇文章主要为大家详细介绍了php出租房数据管理及搜索页面的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • PHP中使用TCPDF生成PDF文档实例

    PHP中使用TCPDF生成PDF文档实例

    这篇文章主要介绍了PHP中使用TCPDF生成PDF文档实例,文中还介绍了其它常用的PHP生成PDF开源项目,需要的朋友可以参考下
    2014-07-07
  • PHP模糊查询的实现方法(推荐)

    PHP模糊查询的实现方法(推荐)

    下面小编就为大家带来一篇PHP模糊查询的实现方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法

    PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法

    这篇文章主要介绍了PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法,包括获取目标IP所在的国家地区等信息,需要的朋友可以参考下
    2016-07-07
  • phalcon框架使用指南

    phalcon框架使用指南

    Phalcon是一款php中国外非常的流程的框架了,但在国内Phalcon框架还不怎么样了,小编今天来为各位介绍phalcon框架使用教程,希望下文可以帮助到各位
    2016-02-02
  • tp5框架的增删改查操作示例

    tp5框架的增删改查操作示例

    这篇文章主要介绍了tp5框架的增删改查操作,结合实例形式分析了thinkPHP5框架数据库连接及增删改查相关操作的控制器与视图使用技巧,需要的朋友可以参考下
    2019-10-10
  • php通过各种函数判断0和空

    php通过各种函数判断0和空

    本文给大家介绍php同各种函数判断0和空的方法,在文章给大家补充介绍了php 语法里0不等于null为空的解决办法,感兴趣的朋友跟随脚本之家小编一起学习
    2018-05-05
  • TP5框架简单登录功能实现方法示例

    TP5框架简单登录功能实现方法示例

    这篇文章主要介绍了TP5框架简单登录功能实现方法,结合实例形式分析了thinkPHP5框架登录功能控制器、视图、登录验证等相关操作技巧,需要的朋友可以参考下
    2019-10-10

最新评论