之前在做tp5数据库备份时,有扩展,现在tp6去实现数据库备份,尝试了一下,直接把扩展拿过来用,发现可行。下面操作一下
安装扩展
composer require tp5er/tp5-databackup dev-master
在config目录下新建文件写配置
内容复制下面代码
$config=array(
'path' => './Data/',//数据库备份路径
'part' => 20971520,//数据库备份卷大小
'compress' => 0,//数据库备份文件是否启用压缩 0不压缩 1 压缩
'level' => 9 //数据库备份文件压缩级别 1普通 4 一般 9最高
);
接下来在控制器内写方法调用类,该方法内写了配置文件,实际上可以不写,但是防止有的朋友引入配置失败,可以直接写在这里,去调用这个方法实现一下
public function backup()
{
$config=array(
'path' => './Data/',//数据库备份路径
'part' => 20971520,//数据库备份卷大小
'compress' => 0,//数据库备份文件是否启用压缩 0不压缩 1 压缩
'level' => 9 //数据库备份文件压缩级别 1普通 4 一般 9最高
);
$db= new \tp5er\Backup($config);
$tables=$db->dataList();//获取数据库所有表的信息
foreach($tables as $k=>$v){
$db->backup($v['name'],0);//循环所有表备份表和数据
}
$file=$db->getFile();//获取所备份文件的文件名
var_dump($file);
}
效果如下