CodeIgniter Tutorial - Cara Membuat Fitur Backup Database di CodeIgniter

 



Prerequisite

Nama Database yang akan dibackup: BLOG

Membuat folder di root project, untuk menyimpan database yang telah dibackup: backup/db

Jika hal diatas sudah ada, let's start to code!


BackupDatabase.php (CONTROLLER)

<?php
defined('BASEPATH'or exit('No direct script access allowed');

class BackupDatabase extends CI_Controller
{
    public function index()
    {
        $data["title"]         = "Backup Database Dengan CodeIgniter";
        $this->load->view('backupdatabase'$data);
    }

    public function backup()
    {
        date_default_timezone_set("Asia/Jakarta"); // set waktu sesuai lokasi

        $this->load->dbutil();
        $pref = [
            'format' => 'zip',
            'filename' => 'blog.sql'
        ];

        $backup     = $this->dbutil->backup($pref);
        $db_name    = 'backup_database__' . date("d-m-Y__H-i-s") . '.zip'// nama backup dalam bentuk zip
        $save       = './backup/db/' . $db_name//folder tempat database disimpan

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

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

backupdatabase.php (VIEW)
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><?= $title ?></title>
    <!-- CDN Jquery -->
    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous"></script>
    <!-- CDN Font Awesome -->
    <script src="https://use.fontawesome.com/07323268fb.js"></script>
    <style>
        h3 {
            text-align: center;
            font-family: ArialHelveticasans-serif;
            font-size: 30px;
        }

        .backup {
            margin: 0;
            position: absolute;
            top: 20%;
            left: 50%;
            -ms-transformtranslate(-50%-50%);
            transform: translate(-50%-50%);
            background-color: blue;
            color: white;
            height: 30px;
            width: auto;
            border-radius: 5%;
        }

        img {
            margin: 0;
            position: absolute;
            top: 20%;
            left: 50%;
            -ms-transformtranslate(-50%-50%);
            transform: translate(-50%-50%);
        }
    </style>
</head>

<body>
    <div>
        <h3><?= $title?></h3>
        <img src="<?php echo base_url('gambar/loading1.gif'); ?>" id="loading" width="10%" style="display:none">
        <button type="button" class="btn btn-sm btn-primary backup"><i class="fa fa-download"></i> Backup Database</button>
    </div>

</body>

</html>
<script>
    $(document).ready(function() {
        $(".backup").on("click"function() {
            $("#loading").show();
            $(this).hide();
            $.ajax({
                url"<?= base_url(); ?>backupdatabase/backup",
                successfunction(data) {
                    alert("berhasil backup data");
                    $("#loading").hide();
                    $(".backup").show();
                }
            });
        });
    });
</script>
Demo Program



Itulah cara backup database dengan codeigniter, semoga bermanfaat! 😄

Posting Komentar

1 Komentar