tp5 rc 3 数据库备份扩展
浏览:5698
最后更新:2019-05-15 16:04
分类:类库
\extend\org
使用方法 控制器
//数据库备份
public function bak(){
$type=input("tp");
$name=input("name");
$sql=new \org\Baksql(\think\Config::get("database"));
switch ($type)
{
case "backup": //备份
return $sql->backup();
break;
case "dowonload": //下载
$sql->downloadFile($name);
break;
case "restore": //还原
return $sql->restore($name);
break;
case "del": //删除
return $sql->delfilename($name);
break;
default: //获取备份文件列表
return $this->fetch("db_bak",["list"=>$sql->get_filelist()]);
}
}
前台<button type="button" class="btn btn-info" onclick="handle('backup')">添加备份</button>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>备份名称</th>
<th>备份时间</th>
<th>备份大小</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{volist name="list" id="vo"}
<tr>
<th scope="row">{$key}</th>
<td>{$vo.name}</td>
<td>{$vo.time}</td>
<td>{$vo.size}</td>
<td>
<a class="btn btn-xs btn-success" href="{:url('bak',['tp'=>'dowonload','name'=>$vo.name])}">下载</a>
<button type="button" class="btn btn-xs btn-warning" onclick="handle('restore','{$vo.name}')">还原</button>
<button type="button" class="btn btn-xs btn-danger" onclick="handle('del','{$vo.name}')">删除</button>
</td>
</tr>
{/volist}
</tbody>
</table>
</div>
js <script>
function handle(tp,name=''){
if (tp){
$.post("{:url('bak')}",{tp:tp,name:name},function(response){
if (response){
jSuccess(response, {VerticalPosition: 'center',HorizontalPosition: 'center'});
}else{
jError("操作失败,请重试!!", {VerticalPosition: 'center',HorizontalPosition: 'center'});
}
});
}
}
</script>
最终效果