File "0000backup.php"
Full Path: /home/analogde/www/DOSSIER/Massage_admin/0000backup.php
File size: 7.49 KB
MIME-type: text/x-php
Charset: utf-8
<?php
session_start ();
if (!isset($_SESSION['nom']) && !isset($_SESSION['password']))
{
header("Location: login.php");
}
/////////////////////////////////////////////////////////////////////////////////
//// code pour bloquer une multiple validation lors du rafraichissement de la page
if(!empty($_POST) )
{
$_SESSION['sauvegarde_formulaire'] = $_POST ;
$page_actuelle = $_SERVER['PHP_SELF'] ;
if(!empty($_SERVER['QUERY_STRING']))
{
$page_actuelle .= '?' . $_SERVER['QUERY_STRING'] ;
}
header('Location: ' . $page_actuelle);
exit;
}
if(isset($_SESSION['sauvegarde_formulaire']))
{
$_POST = $_SESSION['sauvegarde_formulaire'] ;
unset($_SESSION['sauvegarde_formulaire']);
}
/////////////////////////////////////////////////////////////////////////////////
header( 'content-type: text/html; charset=utf-8' );
error_reporting(0);
date_default_timezone_set('Europe/Paris');
if(!empty($_POST['Envoyer']))
{
$site = $_SERVER["SERVER_NAME"];
if( ($site == "localhost") || ($site == "127.0.0.1") )
{
$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "test";
}
else
{
$db_host = "analogdepat.mysql.db";
$db_user = "analogdepat";
$db_pass = "Un92pac007";
$db_name = "analogdepat";
}
//backup_tables($db_host,$db_user,$db_pass,$db_name);
sauvegarde_DB();
}
?>
<style>
.couleur_texte
{
color: red;
}
</style>
<?php
function listing_fichier_repertoire($repertoire)
{
$results = array();
$handler = opendir($repertoire);
$cpt = 0;
while ($file = readdir($handler))
{
if($file != "." && $file != ".." && $file != "listing_backup.txt")
{
$file_name = explode(".",$file);
$date_pieces = explode("-",$file_name[0]);
$date_tab[0] = $date_pieces[2];
$date_tab[1] = $date_pieces[3];
$date_tab[2] = $date_pieces[4];
$heure_tab = explode("_",$date_pieces[5]);
$date = $date_tab[0]."-".$date_tab[1]."-".$date_tab[2]; // d-m-Y
$heure = $heure_tab[0].":".$heure_tab[1].":".$heure_tab[2];
$format = $date ." " .$heure;
$ts = strtotime($format);
//echo $format ." " .$ts;
//echo '<br>';
//http://www.timestamp.fr/?
$results[$cpt][0] = $file;
$results[$cpt][1]= $ts;
chdir("Backup");
$results[$cpt][2]= filesize($file);
$cpt = $cpt + 1;
}
}
closedir($handler);
return $results;
}
/*
function backup_tables($host,$user,$pass,$name)
{
$annee = date('Y');
$table_reservation = "reservation" .$annee;
$link = mysql_connect($host,$user,$pass);
mysql_select_db($name,$link);
$tables = array();
$tables[] = "configuration";
$tables[] = "clients";
$tables[] = "gestion";
$tables[] = $table_reservation;
foreach($tables as $table)
{
$result = mysql_query('SELECT * FROM '.$table);
$num_fields = mysql_num_fields($result);
$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))
{
$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";
}
*/
function sauvegarde_DB()
{
$jour = date('d-m-Y');
$heure = date("H_i_s");
$infos = $jour.'-'.$heure;
$fichier = '/homez.65/analogde/www/Massage/Backup/manuel_db-backup-'.$infos.'.sql';
system("mysqldump --host=analogdepat.mysql.db --user=analogdepat --password=Un92pac007 --default-character-set=utf8 analogdepat configuration client gestion reservation2015 > $fichier");
echo "Backup Done";
echo '<br>';
echo '<br>';
//$handle = fopen('db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');
//$infos = $jour.'-'.$heure;
//chdir('Backup');
//$handle = fopen('db-backup-'.$infos.'.sql','w+');
//$handle = fopen($infos.'.sql','w+');
//fwrite($handle,$return);
//fclose($handle);
// fichier
//chdir('Backup');
//$fp = fopen ("listing_backup.txt", "a");
//$fichier = 'db-backup-'.$infos.'.sql';
//fwrite($fp, $fichier ." " .filesize($fichier)."\n");
//fclose($fp);
//chdir('../');
}
/////////////////////////////
//echo getcwd();
echo '<br><br>';
$tab = listing_fichier_repertoire('Backup');
//echo '<pre>';
//print_r($tab);
for($i=0; $i < count($tab); $i++)
{
$tab_fichier = $tab[$i][0];
$tab_ts[] = $tab[$i][1];
}
$tab_sort = $tab_ts;
sort($tab_sort);
$tab_reverse = array_reverse($tab_sort);
//echo '<pre>';
//print_r($tab_sort);
for($i=0; $i < count($tab); $i++)
{
$element = $tab_reverse[$i];
$position = array_search($element, $tab_ts);
//echo '<br><br>';
$file = $tab[$position][0];
//echo $position ." " .$tab[$position][0] ." " .filesize($file);
$tab_affiche[$i][0] = $tab[$position][0];
$tab_affiche[$i][1] = filesize($file);
}
echo '<a href="configuration.php">retour ...</a>
<br>
<br>';
echo '<form method="post" action="">
<input type="submit" name="Envoyer" value="Backup la database" />
</form>';
// affiche le tableau
$nb_fichiers = count($tab_affiche);
echo "$nb_fichiers fichier(s)";
echo '<br>';
echo "<table border=1 cellpadding=5 cellspacing=0>";
echo " <tr>
<th>Id</th>
<th>Fichier backup</th>
<th>Taille en octets</th>
</tr>";
for($i=0; $i < count($tab_affiche); $i++)
{
$j = $i + 1;
echo "<tr>
<td>" .$j ."</td>";
echo "<td>" .$tab_affiche[$i][0] ."</td>";
echo "<td align = 'center'>" .$tab_affiche[$i][1] ."</td>";
echo '</td>
</tr>';
}
echo "</table>";
/////////////////////////////
/*
chdir('Backup');
echo '<a href="configuration.php">retour ...</a>
<br>
<br>';
echo '<form method="post" action="">
<input type="submit" name="Envoyer" value="Backup la database" />
</form>';
// lecture du fichier
$tab_ligne_fichier = file("listing_backup.txt");
$tab_ligne_fichier_inverse = array_reverse($tab_ligne_fichier);
//echo '<pre>';
//print_r($tab_ligne_fichier_inverse);
$nb_fichiers = count($tab_ligne_fichier_inverse);
echo "$nb_fichiers fichier(s)";
echo '<br>';
echo "<table border=1 cellpadding=5 cellspacing=0>";
echo " <tr>
<th>Fichier backup</th>
<th>Taille en octets</th>
</tr>";
for($i=0; $i < count($tab_ligne_fichier_inverse); $i++)
{
$pieces = explode(" ", $tab_ligne_fichier_inverse[$i]);
$val2 = trim($pieces[1]);
echo "<tr>
<td>" .$pieces[0] ."</td>";
echo "<td align = 'center'>" .$pieces[1] ."</td>";
echo '</td>
</tr>';
}
echo "</table>";
// affiche une table
/*
$directory = opendir(".");
while($item = readdir($directory))
{
$dir[] = $item;
}
closedir($directory);
$indexCount = count($dir);
$nb_fichiers = $indexCount - 2;
echo "$nb_fichiers fichier(s)";
echo '<br>';
sort($dir);
echo "<table border=1 cellpadding=5 cellspacing=0>";
echo " <TR>
<TH>Fichier backup</TH>
<th>Taille en octets</th>
</TR>";
for($index=0; $index < $indexCount; $index++)
{
if(substr("$dir[$index]", 0, 1) != ".")
{
echo " <TR>
<TD><a href=\"$dir[$index]\">$dir[$index]</a>
</td>";
echo "<td>";
echo filesize($dir[$index]);
echo "</td>
</TR>";
}
}
echo "</TABLE>";
*/
/////////////////////////////////////////////////////////
?>