Accueil > Forum > > > > envoie sauvegarder de ma base avec pièce jointe zip
envoie sauvegarder de ma base avec pièce jointe zip
vendredi 4 juin 2010 à 22:00:24 |
envoie sauvegarder de ma base avec pièce jointe zip

jmsch57
|
bonjour, je suis débutant en programation et je viens réaliser un facturier. Afin de sauvegarder régulièrement ma base de donné j'utilise un scripte qui sauvegarde la base au format zip en local sur mon pc (jusque là tout fnctionne) et qui envoie une copie de ce fichier zip par mail à une adresse e mon choix mais là j'ai un problème....après envois le fichier zip reste désespèrément vide.
Code PHP :
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ici les parametres pour la connexion a modifier
$host="localhost"; // host =
$user="root"; // login de la base
$passe="mot de passe"; // password
$base="facturier"; // nom de la base
$mailTo="email";
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$action = @$_GET["action"];
if($action=="oui") {
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);
// ENVOI LE ZIP EN PJ
include("mail.php");
// sendmail("","","",$_POST["mail"],"","","Sauvegarde de la base $base","",$fname.".zip");
sendmail("","","",$_POST["mail"],"","","Sauvegarde de la base $base","",$fname".zip");
?>
Vérifiez votre mail.<br>
<a href="save.php">Retour</a><br>
Merci
<?php
}
} else { ?>
<form action="save.php?action=oui" method="post">
Entrez votre mail pour recevoir la sauvegarde :
<input name="mail" type="text">
<br>
<input name="send" type="submit" value="send">
</form>
<?php } ?>
le fichier include pour l'envoie du mail
Code PHP : require "mime_mail.class.php";
function sendMailpj($mailFrom,$mailTo,$sujet,$body,$pj) {
$mail = new mime_mail();
$mail->to = $mailTo;
$mail->subject = $sujet;
$mail->body = $body;
$mail->from = $mailFrom;
$entetedate = date("D, j M Y H:i:s -0500");
$entetemail = "X-Mailer: PHP/" . phpversion() . "\n" ;
$entetemail .= "Date: $entetedate";
$mail->headers = "$entetemail";
if(strpos($pj,",")) $tb = explode(",",$pj);
else $tb = explode(";",$pj);
for($i=0;$i<sizeof($tb);$i++) {
if(file_exists($tb[$i])) {
$tmp = fread(fopen($tb[$i], "r"), filesize($tb[$i]));
$tmp2 = explode("/",$tb[$i]); $tmp2 = $tmp2[sizeof($tmp2)-1];
$mail->attach("$tmp", "$tmp2");
}
}
$mail->send();
}
function sendMail($nomFrom,$mailFrom,$nomTo,$mailTo,$CC,$BCC,$sujet,$body,$pj) {
if($pj) return sendMailpj($mailFrom,$mailTo,$sujet,$body,$pj);
$tete = "From: ".$nomFrom." <".$mailFrom.">\n";
$tete .= "Reply-To: ".$mailFrom."\n";
$temp = ""; $temp2 = "";
if(strpos($CC,"@")) {
if(strpos($CC,",")) $tb = explode(",",$CC);
else $tb = explode(";",$CC);
for($i=0;$i<sizeof($tb);$i++) {
if($i==0) $temp = $tb[$i];
else $temp .= ",".$tb[$i];
}
$tete .= "Cc: ".$temp."\n";
}
if(strpos($BCC,"@")) {
if(strpos($BCC,",")) $tb = explode(",",$BCC);
else $tb = explode(";",$BCC);
for($i=0;$i<sizeof($tb);$i++) {
if($i==0) $temp2 = $tb[$i];
else $temp2 .= ",".$tb[$i];
}
} elseif($BCC && file_exists($BCC)) {
$fichlst = file($BCC);
while(list($cle,$val) = each($fichlst)) {
if($temp2) $temp2 .= ",".trim($val);
else $temp2 = trim($val);
}
}
if($temp2) $tete .= "Bcc: ".$temp2."\n";
if(strtolower(substr($body,0,6)) == "<html>")
$tete .= "Content-Type: text/html; charset=iso-8859-1\n";
return mail($nomTo." <".$mailTo.">",$sujet,$body,$tete);
}
?>
|
|
lundi 7 juin 2010 à 18:08:33 |
Re : envoie sauvegarder de ma base avec pièce jointe zip

jihednond
|
bonjour,
vous voulez utiliser PHP pour générer une sauvegarde de votre base de données MySQL :
Code PHP :
<?php
include 'config.php'; // Paramètre de connexion
include 'opendb.php'; // Connexion au serveur de base de données
$tableName = 'usager';
$backupFile = 'backup/usager.sql';
$query = "SELECT * INTO OUTFILE '$backupFile' FROM $tableName";
$result = mysql_query($query);
include 'closedb.php'; // Fermeture de la connexion au serveur
?>
Afin de restaurer une fichier de sauvegarde, exécuter la requete suivante LOAD DATA INFILE grâce au script php suivant :
Code PHP :
<?php
include 'config.php'; // Paramètre de connexion
include 'opendb.php'; // Connexion au serveur de base de données
$tableName = 'usager';
$backupFile = 'backup/usager.sql';
$query = "LOAD DATA INFILE '$backupFile' INTO TABLE $tableName";
$result = mysql_query($query);
include 'closedb.php'; // Fermeture de la connexion au serveur
?>
|
|
Cette discussion est classée dans : mail, base, mysql, tables, zip
Répondre à ce message
Sujets en rapport avec ce message
Contenu de la base mysql [ par bonjovi51 ]
S@lut Ô programmeurs, j'ai besoin de votre aide. J'aimerai savoir si il est de possible d'afficher les tables de ma base mysql (et non pas le contenu
Interroger 2 tables d'une meme base (php+mysql) [ par alex1025 ]
Bonjour,Je vous expliqueje veux ajouter un système d'annonce qui est reservé aux membressauf que j'ai 2 types de membres rangées dans 2 tables différe
mySql => Exporter les scripts des tables d'une base [ par nitrique ]
Bonjour @ tous,J'aimerais (comme le dit le titre) exporter les scripts des tables d'une base sous mySql (avoir les: insert into).Un peu comme le fait
Taille des tables et d'une base de donnée MYSQL [ par cyberastuces ]
Bonjour a tous,je cherche comment afficher la taille de toutes mes tables et ensuite la taille de la base de donnée MySQL. Merci d'avance pour votre a
comment rercuperer des mail contenue dasn une base mysql avec outook ????????????? [ par fredericmaill ]
bonjour !!j'aimerais recuper les mail de mon serveur imap, mails qui sont enregistrer dans une base mysql.je voudrais les recupere directement dans ou
comparer deux tables de, mysql et informix [ par patass ]
Bonjour à tous, Je voudrais comparer les valeurs de deux tables; une issue d'une base informix et l'autre d'une base mysql; Je bute sur la méthode à e
Formulaire avec fichier à enregistrer dans base de données. [ par yukisan ]
Bonjour à tous, Donc voilà je me heurte à un problème, je suis en train de concevoir un formulaire permettant l'inscription à un concours. Les part
requête php sur deux bases [ par bl75013 ]
bonsoir, je débute, merci de votre compréhension j'ai deux tables je souhaite faire une requête sur ces 2 tables si dans une de ces tables aucuns rens
afficher le contenu d'un base mysql en faisant une connection à dreaweaver cs3 [ par armelkoudou ]
bonjour très cher frère cela fait deux semaines que je trottine sur une action que je maitrise peu . en faite j'achève le site web d'un ami, mais le p
probléme dans le script qui insere un pdf dans un base de données mysql [ par henni20 ]
bjr j'ai écrie un script en suivant des tuto pour insérer des fichiers pdf dans ma base de données mysql . le script insère les pdf dans la base dans
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
XML ET PHPXML ET PHP par karouani
Cliquez pour lire la suite par karouani
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|