me revoila!!!! 
 
avec toujours autant de problémes et toujours avec le backup!!!! 
 
voici le nouveaux script que j'ais trouvé!!!! 
 function backup($host , $login , $password , $chemin , $nom_fichier , $db){  
 // liste les tables  
   
  function get_list_tables ($db){  
  $i = 0;  
  $nbtab = mysql_list_tables ($db);  
   
  while ($i < mysql_num_rows ($nbtab)){  
  $tb_names[$i] = mysql_tablename ($nbtab, $i);  
  $i++;  
  }  
  return $tb_names;  
  }  
   
 // recuperation des donnees se trouvant dans les tables  
   
  function get_table_data ($table, $fd){  
  $tableau = array ();  
  $j = 0;  
  $resultat = mysql_query ("select * from $table");  
   
  if ($resultat == FALSE){  
  return "La requete dans la table '".$table."' a echoue.<br>";  
  }  
   
  else{  
   
  while ($valeurs = mysql_fetch_row ($resultat))  
  {  
  ecrire_ligne ($valeurs, $table, $fd);  
  }  
  return $valeurs;  
  }  
  }  
   
 // recuperation de la structure de la table  
   
  function get_table_structure ($struct, $fd){  
  $requete = mysql_query ("show create table $struct");  
   
  if ($requete == FALSE){  
  return "la recuperation de la structure '".$struct."' a 
echoue.<br>";  
  }  
   
  else{  
  $structure = mysql_fetch_row ($requete);  
  $ligne = 0;  
  return $structure[1];  
  }  
  }  
   
 // integre la structure dans un fichier  
   
  function put_struct_into_file ($structure, $nom_table, $fd){  
  $struct = "#n# Structure de la table ".$nom_table."n#nn";  
  $struct .= $structure;  
  $struct .= "nn";  
  $ecriture = gzwrite ($fd, $struct, strlen ($struct));  
   
  if ($ecriture == 0){  
  return "erreur lors de l'ecriture de la strucuture dans le fichier 
de sauvgarde.";  
  }  
   
  else{  
  return $fd;  
  }  
  }  
   
 // integre les donnees dans un fichier  
   
  function put_data_into_file ($donnees, $nom_table, $fd){  
  $lignes = 0;  
  $infos = "#n# donnees de la table ".$nom_table ."n#nn";  
  gzwrite ($fd, $infos, strlen ($infos));  
   
  while (isset ($donnees[$lignes])){  
  $appel_fonction = ecrire_ligne($donnees[$lignes], $nom_table, $fd);  
  $lignes++;  
  }  
  return $fd;  
  }  
   
  function ecrire_ligne ($donnees, $nom_table, $fd){  
  $case = 1;  
  $debut = "INSERT INTO '".$nom_table."' VALUES ('".$donnees[0]."'";  
  gzwrite ($fd, $debut, strlen ($debut));  
   
  while (isset ($donnees[$case])){  
  gzwrite ($fd, ", '".$donnees[$case]."'", strlen (", 
'".$donnees[$case]."'"));  
  $case++;  
  }  
  $fin = ");nnn";  
  gzwrite ($fd, $fin, strlen ($fin));  
  }  
 //debut du backup  
   
  $emplacement = $chemin."/".$nom_fichier;  
   
  if (!isset ($chemin) || !is_dir ($chemin)){  
  return "$chemin n'est pas un repertoire ou n'existe pas.";  
  }  
   
  elseif (file_exists ($nom_fichier)){  
  return "Impossible de faire la sauvegarde, le fichier $nom_fichier 
existe deja.";  
  }  
   
  else{  
  $connec = mysql_connect($host, $login, $password);  
  mysql_select_db($db, $connec);  
  $list = get_list_tables ($db);  
  $tab = 0;  
  $fd = gzopen ($emplacement, "a");  
   
  while (isset ($list[$tab])){  
  $structure = get_table_structure ($list[$tab], $fd);  
  $backup = put_struct_into_file ($structure, $list[$tab], $fd);  
  $query = get_table_data ($list[$tab], $fd);  
  $backup_suite = put_data_into_file ($query, $list[$tab], $fd);  
  $tab++;  
  }  
  gzclose ($fd);  
  mysql_close ($connec);  
  print "Sauvegarde reussie.";  
}   
 
 
le probléme: j'arrive pas a le faire fonctionner!!!! 
 
et dans la  function get_table_data je ne vois pas d'où vient $table!!! et si il faut que je le rentre, je doit faire comment???	 |