Pakai ini gan,
<?php
// definisikan koneksi ke database
$server = "localhost";
$username = "root";
$password = "passwordanda";
$database = "databaseanda";
// Koneksi dan memilih database di server
?>
<body>
<div class="container">
<?php
$file = $database.'_'.date("DdMY").'_'.time().'.sql'; //membuat nama file
?>
<script>
function pastikan(text){
confirm('Apakah Anda yakin akan '+text+'?')
}
</script>
<div>
<div class="tabbable">
<ul class="nav nav-tabs" id="myTab">
<li class="active">
<a data-toggle="tab" href="#backup">
<i class="green ace-icon fa fa-cloud-download bigger-120"></i>
Backup
</a>
</li>
<li>
<a data-toggle="tab" href="#restore">
<i class="blue ace-icon fa fa-cloud-upload bigger-120"></i>
Restore
</a>
</li>
</ul>
<div class="tab-content">
<div id="backup" class="tab-pane fade in active">
<form action="" method="post" name="postform" enctype="multipart/form-data" >
<p>
<strong>Backup</strong> semua data yang ada didalam database "<strong><?= $database ?></strong>".</em>
</p>
<div class="asd">
<label for="backup">Backup database</label>
<button id="loading-btn" type="submit" class="btn btn-success" name="backup" onClick="return pastikan('Backup database')">Proses Backup</button>
</div>
</form>
</div>
<div id="restore" class="tab-pane fade">
<form action="" method="post" name="postform" enctype="multipart/form-data" >
<p>
<strong>Restore</strong> semua data yang ada didalam database "<strong><?= $database ?></strong>".</em>
</p>
<div class="asd">
<label for="backup">File Backup Database (*.sql)</label>
<input type="file" name="datafile" size="20" class="filestyle" data-buttonName="btn-primary"/>
<button type="submit" class="btn btn-primary" name="restore" onClick="return pastikan('Backup database')" data-loading-text="Loading...">Proses Restore</button>
</div>
</form>
</div>
</div>
</div>
</div><!-- /.col -->
<?php
//Download file backup ============================================
if(isset($_GET['nama_file'])) {
$file = $back_dir.$_GET['nama_file'];
{
header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Transfer-Encoding: binary'); header('Cache-Control: private');
}
else
{
echo "file {$_GET['nama_file']} sudah tidak ada.";
}
}
//Backup database =================================================
if(isset($_POST['backup'])) {
backup($file);
echo 'Backup database telah selesai <a style="cursor:pointer" href="'.$file.'" title="Download">Download file database</a>';
echo "<pre>";
echo "</pre>";
}
else
{
}
//Restore database ================================================
if(isset($_POST['restore'])) {
restore($_FILES['datafile']);
echo "<pre>";
echo "</pre>";
}
else
{
unset($_POST['restore']); }
?>
<?php
function restore($file) {
global $rest_dir;
$nama_file = $file['name'];
$ukrn_file = $file['size'];
$tmp_file = $file['tmp_name'];
if ($nama_file == "")
{
echo "Fatal Error";
}
else
{
$alamatfile = $rest_dir.$nama_file;
{
$templine = '';
$lines = file($alamatfile);
foreach ($lines as $line)
{
if (substr($line, 0, 2) == '--' || $line == '') continue;
$templine .= $line;
{
mysql_query($templine) or
print('Query gagal \'<strong>' . $templine . '\': ' . mysql_error() . '<br /><br />');
$templine = '';
}
}
echo "<center>Berhasil Restore Database, silahkan di cek.</center>";
}else{
echo "Proses upload gagal, kode error = " . $file['error'];
}
}
}
function backup($nama_file,$tables = '')
{
global $return, $tables, $back_dir, $database ;
if($tables == '')
{
{
$tables[] = $row[0];
}
}else{
}
$return = '';
foreach($tables as $table)
{
//menyisipkan query drop table untuk nanti hapus table yang lama
$return .= "DROP TABLE IF EXISTS ".$table.";";
$return .= "\n\n".$row2[1].";\n\n";
for ($i = 0; $i < $num_fields; $i++)
{
{
$return.= 'INSERT INTO '.$table.' VALUES(';
for($j=0; $j<$num_fields; $j++)
{
if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; } if ($j<($num_fields-1)) { $return.= ','; }
}
$return.= ");\n";
}
}
$return.="\n\n\n";
}
$nama_file;
$handle = fopen($back_dir.$nama_file,'w+'); }
?>
</div>
<!-- Le javascript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="assets/js/jquery.js"></script>
<script src="assets/js/bootstrap-transition.js"></script>
<script src="assets/js/bootstrap-alert.js"></script>
<script src="assets/js/bootstrap-modal.js"></script>
<script src="assets/js/bootstrap-dropdown.js"></script>
<script src="assets/js/bootstrap-scrollspy.js"></script>
<script src="assets/js/bootstrap-tab.js"></script>
<script src="assets/js/bootstrap-tooltip.js"></script>
<script src="assets/js/bootstrap-popover.js"></script>
<script src="assets/js/bootstrap-button.js"></script>
<script src="assets/js/bootstrap-collapse.js"></script>
<script src="assets/js/bootstrap-carousel.js"></script>
<script src="assets/js/bootstrap-typeahead.js"></script>
<script src="assets/js/bootstrap-filestyle.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<script src="assets/css/easypiechart/jquery.easy-pie-chart.js"></script>
<script>
$(function() {
// Easy pie charts
$('.chart').easyPieChart({animate: 1000});
$('.dropdown-toggle').dropdown();
$(":file").filestyle({buttonName: "btn-primary"});
});
</script>
</body>
</html>