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

making a back-up with mysql database and codeigniter

我想在我的站点中备份我的 mysql 数据库。我正在制作一个要按下的按钮,在它被 onlick 之后,它通过 ajax 触发我的备份数据库功能,我想下载我的数据库文件

的 .zip

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

这是我在 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); 
    }

尝试不使用 ajax 它应该可以,据我所知使用 ajax 下载是行不通的。

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

直接 link 给你的按钮如下。无需使用 AJAX

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