时间:2021-05-26
本文实例讲述了TP5框架实现的数据库备份功能。分享给大家供大家参考,具体如下:
1、效果图
2、下载扩展类( \extands\org\Baksql.php)
3、在 \public\static 里新建一个data 文件夹用来存放 .sql 的文件
4、使用方法
controller
<?phpnamespace 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程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了tp5(thinkPHP5)框架实现多数据库查询的方法。分享给大家供大家参考,具体如下:引言:有时候一个管理后台,需要涉及到多个数据库。比如,商城
本文实例讲述了thinkPHP5实现的查询数据库并返回json数据。分享给大家供大家参考,具体如下:TP5实现查询数据库返回json数据(返回json数据函数实
本文实例讲述了tp5(thinkPHP5)框架数据库Db增删改查常见操作。分享给大家供大家参考,具体如下:添加数据insert$data=['name_cn'=
本文实例讲述了thinkPHP5框架连接数据库的方法。分享给大家供大家参考,具体如下:1、配置文件目录tp5\application\database.php通
本文实例讲述了thinkPHP5框架数据库连贯操作之cache()用法。分享给大家供大家参考,具体如下:介绍TP5中自带的缓存系统,是File型缓存。也就是文件