Advertisement
Anggi_fitrahandika

backup.php

Feb 22nd, 2018
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.89 KB | None | 0 0
  1.    
  2.     <div class="">
  3.         <div class="page-title">
  4.             <div class="title_left">
  5.                 <h3>Backup</h3>
  6.             </div>
  7.         </div>
  8.         <div class="clearfix"></div>
  9.  
  10.         <div class="row">
  11.             <div class="col-md-12 col-sm-12 col-xs-12">
  12.                 <div class="x_panel">
  13.                     <div class="x_title">
  14.                         <h2>Backup Data</h2>
  15.                         <ul class="nav navbar-right panel_toolbox">
  16.                             <li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a></li>
  17.                         </ul>
  18.                         <div class="clearfix"></div>
  19.                     </div>
  20.                     <div class="x_content">
  21.                         <div class="col-md-8 col-lg-8 col-sm-7">
  22.                             <blockquote>
  23.                             <strong>Note :</strong>
  24.                             <h4>
  25.                                 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.
  26.                             </h4><br>
  27.                             <center>
  28.                                 <form method="POST">
  29.                                 <button type="submit" class="btn btn-success btn-lg btn-flat" name="backup"><i class="fa fa-download"></i> Backup</button>
  30.                                 </form>
  31.                             </center>
  32.                             <footer>File ber ekstensi .sql</footer>
  33.                             </blockquote>
  34.                         </div>
  35.                     </div>
  36.                 </div>
  37.             </div>
  38.         </div>
  39.     </div>
  40.     <?php
  41.         if (isset($_POST['backup'])) {
  42.            
  43.             backup_tables('localhost','root','','sias');
  44.  
  45.                 /* koneksi ke database */
  46.                 function backup_tables($dbhost,$dbuser,$dbpass,$dbname,$tables = '*')
  47.                 {
  48.                    
  49.                     $connect = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
  50.                    
  51.                     //membaca seluruh table di database
  52.                     if($tables == '*')
  53.                     {
  54.                         $tables = array();
  55.                         $result = mysqli_query($connect, 'SHOW TABLES');
  56.                         while($row = mysqli_fetch_row($result))
  57.                         {
  58.                             $tables[] = $row[0];
  59.                         }
  60.                     }
  61.                     else
  62.                     {
  63.                         $tables = is_array($tables) ? $tables : explode(',',$tables);
  64.                     }
  65.                    
  66.                     foreach($tables as $table)
  67.                     {
  68.                         $result = mysqli_query($connect, 'SELECT * FROM '.$table);
  69.                         $num_fields = mysqli_num_fields($result);
  70.                        
  71.                         $return.= 'DROP TABLE '.$table.';';
  72.                         $row2 = mysqli_fetch_row(mysqli_query($connect, 'SHOW CREATE TABLE '.$table));
  73.                         $return.= "\n\n".$row2[1].";\n\n";
  74.                        
  75.                         for ($i = 0; $i < $num_fields; $i++)
  76.                         {
  77.                             while($row = mysqli_fetch_row($result))
  78.                             {
  79.                                 $return.= 'INSERT INTO '.$table.' VALUES(';
  80.                                 for($j=0; $j < $num_fields; $j++)
  81.                                 {
  82.                                     $row[$j] = addslashes($row[$j]);
  83.                                     $row[$j] = ereg_replace("\n","\\n",$row[$j]);
  84.                                     if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
  85.                                     if ($j < ($num_fields-1)) { $return.= ','; }
  86.                                 }
  87.                                 $return.= ");\n";
  88.                             }
  89.                         }
  90.                         $return.="\n\n\n";
  91.                     }
  92.                    
  93.                     //save file
  94.                     $handle = fopen('db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');
  95.                     fwrite($handle,$return);
  96.                     fclose($handle);
  97.                 }
  98.         }
  99.     ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement