Bonjour,
Donc je veux faire une sauvegarde de ma base de données et qu'en cliquant sur enregistrer, il me demande si je veux l'enregistrer ou l'ouvrir. J'ai déjà ce code pour faire un fichier .zip avec ma sauvegarde:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
75
76
77
78
79
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
//ici les parametres pour la connexion 
$host = "localhost";
$user = "root";
$passe = "";
$base = "ecopeche";
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
 
 
   function Compacter($base) { // Permet de compacter la base avant de lancer toute la procédure 
      $tables = mysql_list_tables($base); 
      while ($enr = @mysql_fetch_row($tables)) 
         @mysql_query("OPTIMIZE TABLE ".$enr[0]);
    }
 
   if($connexion = @mysql_connect($host,$user,$passe)) { // on effectue la connexion 
 
      Compacter($base); 
 
      $select_base=@mysql_select_db($base); // Selection de la base de données 
 
      // CREATION DU FICHIER 
 
      $fname = "backup_".$base.".sql"; 
      $f2 = fopen($fname,"w"); 
 
      fputs($f2,"# Sauvegarde de base de données\n"); 
      fputs($f2,"# Batch par Florent MARIE aka fmarie - 2005\n\n"); 
      $tables = mysql_list_tables($base); 
      while ($enr = @mysql_fetch_row($tables)) { 
         fputs($f2,"# Les tables traitées sont ".$enr[0].";\n"); 
      } 
      fputs($f2,"\n"); 
      $tables = mysql_list_tables($base); 
      while ($enr = @mysql_fetch_row($tables)) { 
         fputs($f2,"DELETE FROM $enr[0];\n"); 
      } 
 
      $tables = mysql_list_tables($base); 
      while ($enr = @mysql_fetch_row($tables)) { 
         $res = mysql_query("SELECT * FROM $enr[0]"); 
         // le nombre de champs de la table 
         $champs = mysql_num_fields($res);  
         // Pour chaque ligne 
         while($val=mysql_fetch_array($res)) { 
            $tmp = "INSERT INTO ".$enr[0]." VALUES("; 
            $c=0; 
            // Pour chaque champ 
            while($c < $champs) { 
               // Une virgule sauf au premier 
               if($c>0) $tmp .= ", "; 
               // Le contenu du champ 
               $tmp .= "'".AddSlashes($val[$c])."'"; 
               $c++; 
            } 
            $tmp .= ");\n"; 
            // Ecrit la ligne 
            fputs($f2,$tmp); 
         } 
      } 
      fclose($f2); 
 
      // ZIP DU FICHIER 
 
      include("zip.lib.php"); 
 
      // Compresse le fichier 
      $zipfile = new zipfile(); 
      $zipfile -> addFile(implode("",file($fname)), $fname); 
      // Sauve le zip 
      $f2=fopen($fname.".zip","w"); 
      fputs($f2,$zipfile -> file()); 
      fclose($f2); 
 
      // NETTOYAGE 
 
      // Détruit le fichier initial 
      // mais laisse le zip au cas où... 
      unlink($fname); ?>