<?php
/*
*
* Title: Compare two MySql backups and output changes in third file
* Author: Obaidullah Khan
* E-Mail: ubaid23@gmail.com
* Licence: GNU GPL
* Version: 0.1
* Script can take two backups and compare both for changes if there is any changes, script output changes third file and save in harddrive
* to take first backup use follwoing parameter with example file
* ?step=1
* to take second backup use following parameter using example file
* ?step=2
* to compare both backups use following parameter using example file
* ?step=final
*
*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<?php
require_once('base.class.php');
if(isset($_REQUEST['Submit']))
{
}
function GetLastFileName()
{
$FileName = '0';
$default_dir = "./";
// lists files only for the directory which this script is run from
if(!($dp = opendir($default_dir))) die("Cannot open $default_dir.");
while($file = readdir($dp))
{
if(is_dir($file))
{
continue;
}
else if($file != '.' && $file != '..')
{
$FileNameArr = explode(".",$file);
if($FileNameArr[1] == 'sql')
{
if($FileName == '')
{
$FileName = $FileNameArr[0];
}
else
{
if($FileName < $FileNameArr[0])
{
$FileName = $FileNameArr[0];
}
}
}
}
}
closedir($dp);
return $FileName+1;
}
?>
<body>
<?php
if(isset($_REQUEST['step']) && $_REQUEST['step'] == 1)
{
include 'mysql_backup.class.php';
$db_host = "localhost"; //---- Database host(usually localhost).
$db_name = "flavio"; //---- Your database name.
$db_user = "root"; //---- Your database username.
$db_pass = ""; //---- Your database password.
$output = "firstbackup.sql";
$structure_only = false;
$backup = new mysql_backup ($db_host,$db_name,$db_user,$db_pass,$output,$structure_only);
$backup->backup();
}
else if($_REQUEST['step'] == '2')
{
include 'mysql_backup.class.php';
$db_host = "localhost"; //---- Database host(usually localhost).
$db_name = "flavio"; //---- Your database name.
$db_user = "root"; //---- Your database username.
$db_pass = ""; //---- Your database password.
$output = 'secondbackup.sql';
$structure_only = false;
$backup = new mysql_backup ($db_host,$db_name,$db_user,$db_pass,$output,$structure_only);
$backup->backup();
}
else if($_REQUEST['step'] == 'final')
{
echo'inside';
$obj = new Compare();
$obj -> File1 = 'secondbackup.sql';
$obj -> File2 = 'firstbackup.sql';
$obj -> ProcessFile();
}
else
{
?>
Usage:
<p>
<b>Create First Backup: ?step=1</b>
<br>
<b>Create Second Backup: ?step=2</b>
<br>
<b>Compare Backups: ?step=final</b>
</p>
<?php
}
?>
</body>
</html>
|