1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
<?php
$serveur = "*****" ;
$login = "*****" ;
$password = "****" ;
$base = "******";
$mode = 3 ;
$connexion = mysql_connect($serveur, $login, $password);
mysql_select_db($base, $connexion);
$entete = "-- ----------------------\n";
$entete .= "-- dump de la base ".$base." au ".date("d-M-Y")."\n";
$entete .= "-- ----------------------\n\n\n";
$creations = "";
$insertions = "\n\n";
$listeTables = mysql_query("show tables", $connexion);
while($table = mysql_fetch_array($listeTables))
{
// si l'utilisateur a demand� la structure ou la totale
if($mode == 1 || $mode == 3)
{
$creations .= "-- -----------------------------\n";
$creations .= "-- creation de la table ".$table[0]."\n";
$creations .= "-- -----------------------------\n";
$listeCreationsTables = mysql_query("show create table ".$table[0], $connexion);
while($creationTable = mysql_fetch_array($listeCreationsTables))
{
$creations .= $creationTable[1].";\n\n";
}
}
// si l'utilisateur a demand� les donn�es ou la totale
if($mode > 1)
{
$donnees = mysql_query("SELECT * FROM ".$table[0]);
$insertions .= "-- -----------------------------\n";
$insertions .= "-- insertions dans la table ".$table[0]."\n";
$insertions .= "-- -----------------------------\n";
while($nuplet = mysql_fetch_array($donnees))
{
$insertions .= "INSERT INTO ".$table[0]." VALUES(";
for($i=0; $i < mysql_num_fields($donnees); $i++)
{
if($i != 0)
$insertions .= ", ";
$insertions .= "'";
$insertions .= addslashes($nuplet[$i]);
$insertions .= "'";
}
$insertions .= ");\n";
}
$insertions .= "\n";
}
}
mysql_close($connexion);
$fichierDump = fopen("dump_".date('Y_m_d').".sql", "wb");
fwrite($fichierDump, $entete);
fwrite($fichierDump, $creations);
fwrite($fichierDump, $insertions);
fclose($fichierDump);
header('Content-disposition: attachment; filename="dump_'.date('Y_m_d').'.sql"');
header('Content-Type: application/force-download');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '. filesize("dump_".date('Y_m_d').".sql"));
header('Pragma: no-cache');
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
readfile("dump_".date('Y_m_d').".sql");
unlink("dump_".date('Y_m_d').".sql");
?> |
Partager