Wednesday, 25 February 2015

Salam buat pengunjung KARYA_Q.

Berbagi  tentang script PHP mengenai backup database dengan cara automatis langsung dari website atau tidak secara manual dari phpmyadmin.


Back Up Database . . . . , dengan adanya backup database kita bisa membuat data cadangan untuk database yang sudah kita buat dan kita  isi setiap harinya. Membackup database dengan type file yang berbeda-beda, dengan type SQL, PDF, XML dll.
Gambar type file.


Script untuk membuat backup database.

<form action="" method="post" name="postform">
<div align="center">
                                <input class="button btncolor" type="submit" name="backup"  onClick="return confirm('Apakah Anda yakin?')"value="Proses Backup" />
                  </div>
</form>
 <?php
if(isset($_POST['backup'])){
//membuat nama file
                $file=date("DdMY").'_ri32_backup_data_'.time().'.sql';
//panggil fungsi dengan memberi parameter untuk koneksi dan nama file untuk backup
                backup_tables("localhost","root",""," NAMA_DATABASE ",$file);
?>
                <p align="center">&nbsp;</p>
                <p align="center">Backup database telah selesai.</p>
<?php
}else{    unset($_POST['backup']);
}
/*untuk memanggil nama fungsi :: jika anda ingin membackup semua tabel yang ada didalam database, biarkan tanda BINTANG (*) pada variabel $tables = '*'
jika hanya tabel-table tertentu, masukan nama table dipisahkan dengan tanda KOMA (,)  */
function backup_tables($host,$user,$pass,$name,$nama_file,$tables = '*')
{
//untuk koneksi database
                $link = mysql_connect($host,$user,$pass);
                mysql_select_db($name,$link);
if($tables == '*')               {
                                $tables = array();
                                $result = mysql_query('SHOW TABLES');
                                while($row = mysql_fetch_row($result))
                                {
                                $tables[] = $row[0];
                                } }else{
//jika hanya table-table tertentu
                                $tables = is_array($tables) ? $tables : explode(',',$tables);
                }             
                foreach($tables as $table)
                {
                                $result = mysql_query('SELECT * FROM '.$table);
                                $num_fields = mysql_num_fields($result);
//menyisipkan query drop table untuk nanti hapus table yang lama
                                $return.= 'DROP TABLE '.$table.';';
                                $row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
                                $return.= "\n\n".$row2[1].";\n\n";
                                for ($i = 0; $i < $num_fields; $i++)
                                {
                                while($row = mysql_fetch_row($result)) {
//menyisipkan query Insert. untuk nanti memasukan data yang lama ketable yang baru dibuat. so toy mode : ON
                                $return.= 'INSERT INTO '.$table.' VALUES(';
                                for($j=0; $j<$num_fields; $j++) {
//akan menelusuri setiap baris query didalam
                                $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";
}
//simpan file di folder yang anda tentukan sendiri. kalo saya sech folder "DATA"
                $nama_file;
                $handle = fopen('FOLDER PENYIMPAN'.$nama_file,'w+');
                fwrite($handle,$return);
                fclose($handle);
}
?>


Silahkan mencoba... , mencoba awal dari keberhasilan dan adanya keberhasilan pasti sebelumnya mengalami kegagalan. SEMANGAT....
Categories: ,

0 comments:

Post a Comment

Subscribe to RSS Feed Follow me on Twitter!