| |
sitengine:: xport.php
<? include ('mySitengine.lib.php');authentificationControler();
// Initialisation des variables par défaut
//define('FILE_APPEND', 1);
$fichier= './'.$SE['SQLTable']."-".date("Ymd-Hi").".sql";
//requête pour générer la structure SQL de la table
$resultat = mysql_query("SHOW CREATE TABLE ".$SE['SQLTable']);
if ($resultat){
$insertionSQL = "";
$tableau = mysql_fetch_array($resultat);
$tableau[1] .= ";";
//décharge du contenu
$contenuSQL[] = str_replace("n", "", $tableau[1]);
//requête pour récupérer le contenu de la table
$contenu_table = mysql_query("SELECT * FROM ".$SE['SQLTable']);
//recherche le nombre de champs de la table
$nbr_champs = mysql_num_fields($contenu_table);
// boucle sur chaque enregistrement contenu dans la table
while ($enregistrements = mysql_fetch_array($contenu_table)){
// insère le début de la sauvegarde SQL
$insertionSQL .= "INSERT INTO ".$SE['SQLTable']." VALUES(";
// Boucle sur chaque champ
for ($i=0; $i<=$nbr_champs-1; $i++) {
$insertionSQL .= "'" . mysql_real_escape_string($enregistrements[$i]) . "', ";
}
// supprime les deux derniers caractères
$insertionSQL = substr($insertionSQL, 0, -2);
// insère la fin de commande SQL
$insertionSQL .= ");n";
}
// ajoute le résultat dans le tableau final
if ($insertionSQL != "") $contenuSQL[] = $insertionSQL;
}
// retourne la structure SQL et le contenu de la base de données en chaîne de caractères
$sauvegardeSQL = implode("r", $contenuSQL);
// inscription du contenu de la sauvegarde dans un fichier
$flag = false;
$mode = ($flag == FILE_APPEND || strtoupper($flag) == 'FILE_APPEND') ? 'a' : 'w';
// création du fichier(fileHandle)
$fhandle = @fopen($fichier, $mode);
if ($fhandle === false) {
echo "Erreur dans l'écriture du fichier ". $fichier ;
} else {
// inscription du contenu de la sauvegarde dans le fichier
$bytes_written = fwrite($fhandle, $sauvegardeSQL);
// fermeture du fichier
fclose($fhandle);
echo "Base de données sauvegardée dans le fichier : " . $fichier . " - ".$bytes_written ." bytes écrit";
}
?>
1
|