Navigation : Forums > Forum Général > c encore moi!!!!

Pages : < 1 2 Poster un nouveau sujet Ajouter un message
Auteur Message
ptitmulot

Messages : 30
Inscrit le : 03/05/2004
Posté le 10/05/2004 à 11:20:52 Message N°11 #
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???
Profil Citer
ptitmulot

Messages : 30
Inscrit le : 03/05/2004
Posté le 10/05/2004 à 16:48:18 Message N°12 #
please help je bosse sur ce script depuis ce matin!!!!!

où est le probléme?????
Profil Citer
ptitmulot

Messages : 30
Inscrit le : 03/05/2004
Posté le 13/05/2004 à 09:38:17 Message N°13 #
probléme resolu!!!!
Profil Citer
loranger

Messages : 392
Inscrit le : 04/04/2002
Posté le 14/07/2004 à 15:49:44 Message N°14 #
heu... et c'était quoi ?
(au cas ou d'autre auraient le même problème...)
Profil Citer

Navigation : Forums > Forum Général > c encore moi!!!!

Pages : < 1 2 Poster un nouveau sujet Ajouter un message


Se rendre directement sur le forum :