使用mysql数据库和codeigniter进行备份

时间:2017-06-20 05:43:53

标签: mysql codeigniter download database-backups

我想在我的网站备份我的mysql数据库。我正在按下一个按钮,在点击之后,它通过ajax触发我的备份数据库功能,我想下载我的数据库文件的.zip

现在这里是我的代码,为什么没有出现.zip文件。它在我的ajax中说它是成功的。回复

enter image description here

这是我在javascript中的代码:

function auto_backup() {
  $.ajax({
    url: siteurl+"admin_backup/backup_db",
    type: "POST",
    success: function(data) {
      alert("Success");
    }
  });
}

和我的控制器代码:

public function backup_db() {
        $this->load->dbutil();

        $prefs = array(     
                'format'      => 'zip',             
                'filename'    => 'my_db_backup.sql'
              );
        $backup =& $this->dbutil->backup($prefs); 

        $db_name = 'backup-on-'. date("Y-m-d-H-i-s") .'.zip';
        $save = 'pathtobkfolder/'.$db_name;

        $this->load->helper('file');
        write_file($save, $backup); 

        $this->load->helper('download');
        force_download($db_name, $backup); 
    }

2 个答案:

答案 0 :(得分:1)

尝试不使用ajax它应该可以工作,据我所知下载ajax dosen&t。工作。

function auto_backup() {
  window.location.href = siteurl+"admin_backup/backup_db";
}

答案 1 :(得分:0)

按如下方式直接链接到您的按钮。无需使用AJAX

 href="<?php echo site_url("admin_backup/backup_db") ?>"