SystemDatabackup.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. namespace app\admin\controller\system;
  3. use app\admin\controller\AuthController;
  4. use service\FormBuilder as Form;
  5. use think\Request;
  6. use service\JsonService as Json;
  7. use \tp5er\Backup;
  8. /**
  9. * 文件校验控制器
  10. * Class SystemFile
  11. * @package app\admin\controller\system
  12. *
  13. */
  14. class SystemDatabackup extends AuthController
  15. {
  16. /**
  17. * 数据类表列表
  18. */
  19. public function index(){
  20. return $this->fetch();
  21. }
  22. /**
  23. * 获取数据库表
  24. * @param Request|null $request
  25. */
  26. public function tablelist(Request $request = null)
  27. {
  28. $db= new Backup();
  29. return Json::result(0,'sucess',$db->dataList(),count($db->dataList()));
  30. }
  31. /**
  32. * 查看表结构
  33. * @param Request|null $request
  34. */
  35. public function seetable(Request $request = null)
  36. {
  37. parent::__construct($request);
  38. }
  39. /**
  40. * 优化表
  41. * @param Request|null $request
  42. */
  43. public function optimize(Request $request = null)
  44. {
  45. $tables = $request->post('tables/a');
  46. $db= new Backup();
  47. $res = $db->optimize($tables);
  48. return Json::successful($res ? '优化成功':'优化失败');
  49. }
  50. /**修复表
  51. * @param Request|null $request
  52. */
  53. public function repair(Request $request = null)
  54. {
  55. $tables = $request->post('tables/a');
  56. $db = new Backup();
  57. $res = $db->repair($tables);
  58. return Json::successful($res ? '修复成功':'修复失败');
  59. }
  60. /**备份表
  61. * @param Request|null $request
  62. */
  63. public function backup(Request $request = null)
  64. {
  65. $tables = $request->post('tables/a');
  66. $db= new Backup();
  67. $data = [];
  68. foreach ($tables as $t){
  69. $res = $db->backup($t,0);
  70. if(!$res){
  71. $data[] = $t;
  72. }
  73. }
  74. //$res = $db->backup($tables);
  75. return Json::successful(count($data) ? '备份成功':'备份失败',$data);
  76. }
  77. }