3

我不知道如何编写代码来使用 codeigniter 从数据库中恢复 .sql 文件的备份。我应该在控制器中做什么才能恢复它?我只是创建一个表单来选择 .sql 文件,如下所示:

<form method="post" action="<?php echo base_url();?>main/reStore" enctype="multipart/form-data">
        <p>Select Database:&nbsp;&nbsp;<input type="file" name="database"></p>
        <p>Restore Database:&nbsp;&nbsp;<input type="submit" value="Restore">
    </form>

并且不知道在控制器中做什么

function reStore(){
     $this->load->database();

}
4

2 回答 2

1

我用了这段代码

function restore_data()
{
    $folder = FCPATH;
    $folder = str_replace('\\', '/', $folder);  
    $path = $folder.'folder name of the .sql file/';
    $sql_filename = 'file name.sql';

    $sql_contents = file_get_contents($path.$sql_filename);
    $sql_contents = explode(";", $sql_contents);

    foreach($sql_contents as $query)
    {

        $pos = strpos($query,'ci_sessions');
        var_dump($pos);
        if($pos == false)
        {
            $result = $this->db->query($query);
        }
        else
        {
            continue;
        }

    }

}
于 2019-07-31T09:33:45.220 回答
0

试着从中得到一个想法,可能对你有帮助。

public function db_backup()
{
       $this->load->dbutil();   
       $backup =& $this->dbutil->backup();  
       $this->load->helper('file');
       write_file('your_file_path/your_DB.zip', $backup); 
}
于 2015-08-07T18:59:00.900 回答