Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <div class="">
- <div class="page-title">
- <div class="title_left">
- <h3>Backup</h3>
- </div>
- </div>
- <div class="clearfix"></div>
- <div class="row">
- <div class="col-md-12 col-sm-12 col-xs-12">
- <div class="x_panel">
- <div class="x_title">
- <h2>Backup Data</h2>
- <ul class="nav navbar-right panel_toolbox">
- <li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a></li>
- </ul>
- <div class="clearfix"></div>
- </div>
- <div class="x_content">
- <div class="col-md-8 col-lg-8 col-sm-7">
- <blockquote>
- <strong>Note :</strong>
- <h4>
- Lakukan backup database secara berkala untuk membuat cadangan database yang bisa direstore kapan saja ketika dibutuhkan. <br>Silakan klik tombol <strong>"Backup"</strong> untuk memulai proses backup data.
- </h4><br>
- <center>
- <form method="POST">
- <button type="submit" class="btn btn-success btn-lg btn-flat" name="backup"><i class="fa fa-download"></i> Backup</button>
- </form>
- </center>
- <footer>File ber ekstensi .sql</footer>
- </blockquote>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <?php
- if (isset($_POST['backup'])) {
- backup_tables('localhost','root','','sias');
- /* koneksi ke database */
- function backup_tables($dbhost,$dbuser,$dbpass,$dbname,$tables = '*')
- {
- $connect = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
- //membaca seluruh table di database
- if($tables == '*')
- {
- $tables = array();
- $result = mysqli_query($connect, 'SHOW TABLES');
- while($row = mysqli_fetch_row($result))
- {
- $tables[] = $row[0];
- }
- }
- else
- {
- $tables = is_array($tables) ? $tables : explode(',',$tables);
- }
- foreach($tables as $table)
- {
- $result = mysqli_query($connect, 'SELECT * FROM '.$table);
- $num_fields = mysqli_num_fields($result);
- $return.= 'DROP TABLE '.$table.';';
- $row2 = mysqli_fetch_row(mysqli_query($connect, 'SHOW CREATE TABLE '.$table));
- $return.= "\n\n".$row2[1].";\n\n";
- for ($i = 0; $i < $num_fields; $i++)
- {
- while($row = mysqli_fetch_row($result))
- {
- $return.= 'INSERT INTO '.$table.' VALUES(';
- for($j=0; $j < $num_fields; $j++)
- {
- $row[$j] = addslashes($row[$j]);
- $row[$j] = ereg_replace("\n","\\n",$row[$j]);
- if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
- if ($j < ($num_fields-1)) { $return.= ','; }
- }
- $return.= ");\n";
- }
- }
- $return.="\n\n\n";
- }
- //save file
- $handle = fopen('db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');
- fwrite($handle,$return);
- fclose($handle);
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement