使用 OHO Codeigniter 备份 MySQL 数据库
Backup MySQL database with OHO Codeigniter
我无法确定应该下载 zip 备份文件的目的地,并且 zip 文件的名称总是随机生成的,就像我得到的这个 0ca26f32-b90c-4198-b078 -ed2778a23c0b.zip 但压缩文件夹中的 sql 文件使用给定名称 backup_2019-01-24-22-33-03.sql
PHP备份功能
以下功能正在下载一个压缩文件夹,其中包含 windows 中默认下载文件夹中的数据库 sql 文件。
public function backup_get(){
$prefs = array(
'tables' => array('convt', 'invoice', 'item', 'order_inv', 'person', 'return_details'), // Array of tables to backup.
'ignore' => array(), // List of tables to omit from the backup
'format' => 'zip', // gzip, zip, txt
'filename' => 'backup_' . date("Y-m-d-H-i-s") . '.sql', // File name - NEEDED ONLY WITH ZIP FILES
'add_drop' => true, // Whether to add DROP TABLE statements to backup file
'add_insert' => true, // Whether to add INSERT data to backup file
'newline' => "\n", // Newline character used in backup file
);
$backup = $this->dbutil->backup($prefs);
$db_name = 'backup-on-' . date("Y-m-d-H-i-s") . '.zip';
$save = './backup/' . $db_name;
$this->load->helper('file');
write_file($save, $backup);
http_response_code(200);
header('Content-Length: ' . filesize($save));
header("Content-Type: application/zip");
header('Content-Disposition: attachment; filename="backup.zip"');
readfile($save);
exit;
}
问题
我想将默认目标格式 downloads
文件夹更改为我 manually/auto 生成的文件夹,并能够为 zip 文件命名。
感谢任何帮助
尝试像这样修改 backup_get()
函数:
public function backup_get(){
$prefs = array(
'tables' => array('convt', 'invoice', 'item', 'order_inv', 'person', 'return_details'), // Array of tables to backup.
'ignore' => array(), // List of tables to omit from the backup
'format' => 'zip', // gzip, zip, txt
'filename' => 'backup_' . date("Y-m-d-H-i-s") . '.sql', // File name - NEEDED ONLY WITH ZIP FILES
'add_drop' => true, // Whether to add DROP TABLE statements to backup file
'add_insert' => true, // Whether to add INSERT data to backup file
'newline' => "\n", // Newline character used in backup file
);
$backup = $this->dbutil->backup($prefs);
$db_name = 'backup-on-' . date("Y-m-d-H-i-s") . '.zip';
$backup_path = './backup/'; // this is the destination directory name
if (!file_exists($backup_path)) {
mkdir($backup_path, 0755, true);
}
$save = $backup_path . $db_name;
$this->load->helper('file');
write_file($save, $backup);
}
$backup_path
是您要设置的自定义目录。
简单的工作代码
function database_backup()
{
$this->load->dbutil();
$prefs = array('format' => 'zip', 'filename' => 'Database-backup_' . date('Y-m-d_H-i'));
$backup = $this->dbutil->backup($prefs);
if (!write_file('./uploads/backup/BD-backup_' . date('Y-m-d_H-i') . '.zip', $backup)) {
echo "Error while creating auto database backup!";
}
else {
echo "Database backup has been successfully Created";
}
}
我无法确定应该下载 zip 备份文件的目的地,并且 zip 文件的名称总是随机生成的,就像我得到的这个 0ca26f32-b90c-4198-b078 -ed2778a23c0b.zip 但压缩文件夹中的 sql 文件使用给定名称 backup_2019-01-24-22-33-03.sql
PHP备份功能
以下功能正在下载一个压缩文件夹,其中包含 windows 中默认下载文件夹中的数据库 sql 文件。
public function backup_get(){
$prefs = array(
'tables' => array('convt', 'invoice', 'item', 'order_inv', 'person', 'return_details'), // Array of tables to backup.
'ignore' => array(), // List of tables to omit from the backup
'format' => 'zip', // gzip, zip, txt
'filename' => 'backup_' . date("Y-m-d-H-i-s") . '.sql', // File name - NEEDED ONLY WITH ZIP FILES
'add_drop' => true, // Whether to add DROP TABLE statements to backup file
'add_insert' => true, // Whether to add INSERT data to backup file
'newline' => "\n", // Newline character used in backup file
);
$backup = $this->dbutil->backup($prefs);
$db_name = 'backup-on-' . date("Y-m-d-H-i-s") . '.zip';
$save = './backup/' . $db_name;
$this->load->helper('file');
write_file($save, $backup);
http_response_code(200);
header('Content-Length: ' . filesize($save));
header("Content-Type: application/zip");
header('Content-Disposition: attachment; filename="backup.zip"');
readfile($save);
exit;
}
问题
我想将默认目标格式 downloads
文件夹更改为我 manually/auto 生成的文件夹,并能够为 zip 文件命名。
感谢任何帮助
尝试像这样修改 backup_get()
函数:
public function backup_get(){
$prefs = array(
'tables' => array('convt', 'invoice', 'item', 'order_inv', 'person', 'return_details'), // Array of tables to backup.
'ignore' => array(), // List of tables to omit from the backup
'format' => 'zip', // gzip, zip, txt
'filename' => 'backup_' . date("Y-m-d-H-i-s") . '.sql', // File name - NEEDED ONLY WITH ZIP FILES
'add_drop' => true, // Whether to add DROP TABLE statements to backup file
'add_insert' => true, // Whether to add INSERT data to backup file
'newline' => "\n", // Newline character used in backup file
);
$backup = $this->dbutil->backup($prefs);
$db_name = 'backup-on-' . date("Y-m-d-H-i-s") . '.zip';
$backup_path = './backup/'; // this is the destination directory name
if (!file_exists($backup_path)) {
mkdir($backup_path, 0755, true);
}
$save = $backup_path . $db_name;
$this->load->helper('file');
write_file($save, $backup);
}
$backup_path
是您要设置的自定义目录。
简单的工作代码
function database_backup()
{
$this->load->dbutil();
$prefs = array('format' => 'zip', 'filename' => 'Database-backup_' . date('Y-m-d_H-i'));
$backup = $this->dbutil->backup($prefs);
if (!write_file('./uploads/backup/BD-backup_' . date('Y-m-d_H-i') . '.zip', $backup)) {
echo "Error while creating auto database backup!";
}
else {
echo "Database backup has been successfully Created";
}
}