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

2020-09-01 12:11:25

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

1、效果图

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

2、下载扩展类(  extandsorgBaksql.php)

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

4、使用方法

controller

<?phpnamespace appindexcontroller; use thinkController; class Backup extends Controller{ //数据库备份 public function bak(){  $type=input("tp");  $name=input("name");  $sql=new orgBaksql(thinkConfig::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程序设计有所帮助。

相关文章 大家在看