begin process at 2012 02 11 15:36:23
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > SAUVEGARDE D'UNE BASE DE DONNÉE, RESULTAT ENVOYER PAR EMAIL, SUR FTP OU BIEN SAVEGARDER EN LOCAL

SAUVEGARDE D'UNE BASE DE DONNÉE, RESULTAT ENVOYER PAR EMAIL, SUR FTP OU BIEN SAVEGARDER EN LOCAL


 Information sur la source

Note :
Aucune note
Catégorie :Base de données Classé sous :Base donnees, Mysql, Email, Sauvegarde, FTP Niveau :Initié Date de création :17/04/2008 Date de mise à jour :18/04/2008 01:08:48 Vu :6 817

Auteur : 1030

Ecrire un message privé
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

Ma classe SaveBD() permet de faire des sauvegarder a l'aide de cron. Vous pouvez choisir le type de média voulu, soit un envoie a un courriel, soit dans un répertoir local de votre site, soit sur un site ftp distant.

Prendre note que les fichier .sql son en texte lisible, donc n'oubliez pas de sécurisé le répertoire de destination.

Source

  • <?php
  • /*************************************************/
  • /* SAUVEGARDE DE BASE DE DONNEES */
  • /* STRUCTURE ET CONTENU */
  • /* Option d'envoie par email, */
  • /* Option de sauvegarde local, */
  • /* Option de sauvegarde sur ftp distant */
  • /*************************************************/
  • /*
  • utilisation:
  • sauvegarde simple
  • ---> save_db.php?db=nom_de_la_base
  • */
  • class saveBD {
  • const Producteur_nom = "1030";
  • const Producteur_commentaire = "Service de sauvegarde MySql";
  • const Producteur_HTTP = "www.monsite.com";
  • const Producteur_email = "webmaster@monsite.com";
  • const Producteur_version = "1.0";
  • private $sql_export = "";
  • private $ini = array();
  • public function __construct($db,$host="",$user="",$pass="") {
  • $this->ini["db_host"] = !empty($host) ? $host : "localhost";
  • $this->ini["db_user"] = !empty($user) ? $user : "root";
  • $this->ini["db_pass"] = !empty($pass) ? $pass : "";
  • $this->ini["db_name"] = $db;
  • $this->ini["email_adresse"] = "votre@email.com";
  • $this->ini["ftp_url"] = "ftp.monsite.com";
  • $this->ini["ftp_login"] = "user";
  • $this->ini["ftp_pass"] = "password";
  • $this->ini["ftp_filename"] = "Backup_MySql_".$db;
  • $this->ini["file_name"] = "Backup_MySql";
  • $this->dbconnect();
  • $this->sql_export = $this->contenu();
  • }
  • public function __destruct()
  • {
  • @mysql_close();
  • }
  • private function get_table_structure($db, $table)//$db=nom de la base,$table=nom de la table
  • {
  • //CREATE TABLE
  • $result = mysql_db_query($db, "SHOW CREATE TABLE `$table`") or mysql_die();
  • $row = mysql_fetch_array($result);
  • $schema_create = $row[1];
  • $schema_create = str_replace("\n","\r\n",$schema_create).";";
  • return (stripslashes($schema_create));
  • }
  • private function get_table_content($db, $table)//$db=nom de la base,$table=nom de la table
  • {
  • $result = mysql_db_query($db, "SELECT * FROM `$table`") or mysql_die();
  • $i = 0;
  • $search = array("\x00", "\x0a", "\x0d", "\x1a"); //on remplace: NULL, LF, CR
  • $replace = array('\0', '\n', '\r', '\Z');
  • //INSERT INTO
  • $table_list = "(";
  • for($j=0; $j<mysql_num_fields($result);$j++)
  • $table_list .= "`".mysql_field_name($result,$j)."`, ";
  • $table_list = substr($table_list,0,-2);
  • $table_list .= ")";
  • $schema_insert = "INSERT INTO `$table` $table_list VALUES \r\n";
  • //VALUE
  • $value_insert = array();
  • while($row = mysql_fetch_row($result))
  • {
  • $values = array();
  • for($j=0; $j<mysql_num_fields($result);$j++)
  • {
  • if(!isset($row[$j])) {
  • $values[] = "NULL";
  • }
  • elseif($row[$j] != "") {
  • $values[] = "'".str_replace($search, $replace, addslashes($row[$j]))."'";
  • }
  • else {
  • $values[] = " ''";
  • }
  • }
  • $value_insert[] ='(' . implode(', ', $values) . ')';
  • $i++;
  • }
  • $schema_insert = count($value_insert) > 0 ? $schema_insert . implode(",\r\n",$value_insert) .";" : "";
  • return trim($schema_insert)."\r\n";
  • }
  • private function contenu()
  • {
  • $sql_export = "\r\n";
  • $sql_export .= "# --------------------------------------------------------\r\n";
  • $sql_export .= "# -- ".self::Producteur_nom." - ".self::Producteur_commentaire."\r\n";
  • $sql_export .= "# -- Version ".self::Producteur_version."\r\n";
  • $sql_export .= "# -- http://".self::Producteur_HTTP."\r\n";
  • $sql_export .= "# -- \r\n";
  • $sql_export .= "# -- Serveur : ".$this->ini["db_host"]."\r\n";
  • $sql_export .= "# -- Généré le : ". format_date(Date("Y-m-d"))." à ". Date("H:i") ."\r\n";
  • $version_mysql = explode("-", mysql_get_server_info());
  • $sql_export .= "# -- Version de MySql : ". $version_mysql[0] ."\r\n";
  • $sql_export .= "# -- Version de PHP : ".phpversion()."\r\n";
  • $sql_export .= "# -- \r\n";
  • $sql_export .= "# -- Base de donnée : ". $this->ini["db_name"] ."\r\n";
  • $i = 0;
  • while($i < $this->ini["num_tables"])
  • {
  • $table = mysql_tablename($this->ini["tables"], $i);//Lit le nom de la table qui contient le champs spécifié
  • $sql_export .= "# --------------------------------------------------------\r\n";
  • $sql_export .= "\r\n";
  • $sql_export .= "# -- \r\n";
  • $sql_export .= "# -- Structure de la table `".$table."`\r\n";
  • $sql_export .= "# -- \r\n";
  • $sql_export .= "\r\n";
  • $sql_export .= $this->get_table_structure($this->ini["db_name"], $table)."\r\n\r\n";
  • $sql_export .= "# -- \r\n";
  • $sql_export .= "# -- Contenu de la table `".$table."`\r\n";
  • $sql_export .= "# -- \r\n";
  • $sql_export .= "\r\n";
  • $sql_export .= $this->get_table_content($this->ini["db_name"], $table);
  • $i++;
  • }
  • return $sql_export;
  • }
  • //Connexion à la base de donnée
  • private function dbconnect() {
  • @set_time_limit(600);
  • @mysql_connect($this->ini["db_host"],$this->ini["db_user"],$this->ini["db_pass"])
  • or die("Impossible de se connecter - Problème sur le 'Hostname' ou sur le 'User' ou sur le 'Password'");
  • @mysql_select_db($this->ini["db_name"])
  • or die("Impossible de se connecter à la base ou nom de base inconnu");
  • header("Expires: 0");
  • $this->ini["tables"] = mysql_list_tables($this->ini["db_name"]);//Liste les tables d'une base de données.
  • $this->ini["num_tables"] = mysql_num_rows($this->ini["tables"]);//Retourne le nombre de lignes d'un résultat
  • }
  • //Imprime à l'écrant le contenue pour la création de la BD
  • public function print_db()
  • {
  • return str_replace("\r\n","<BR>",$this->sql_export);
  • }
  • //envoie un email avec le fichier joint
  • public function confirme_email()
  • {
  • //Sujet du courriel
  • $sujet = Producteur_commentaire." le ".date("d/m/Y");
  • //Entete du courriel
  • $boundary = '-----='.md5(uniqid(rand()));
  • $headers = "From: ".Producteur_nom."<".Producteur_email.">\n";
  • $headers .= "MIME-Version: 1.0\n";
  • $headers .= "Content-Type: multipart/mixed;";
  • $headers .= " boundary=\"----=".$boundary."\"\n\n";
  • //Ajoute le message au courriel
  • $message = "------=".$boundary."\n";
  • $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
  • $message .= "Content-Transfer-Encoding: 32bit\n\n";
  • $message .= "
  • Techno-Vie - Service de sauvegarde mensuelle de votre base de donnée
  • ";
  • $message .= "\n\n";
  • //Ajoute la pièce jointe
  • $attachement = "------=".$boundary."\n";
  • $attachement .= "Content-Type: text/plain; name=\"Backup_MySql_aprmq_".date("Ymd-Hi").".sql\"\n";
  • $attachement .= "Content-Transfer-Encoding: base64\n";
  • $attachement .= "Content-Disposition: attachment; filename=\"Backup_MySql_aprmq_".date("Ymd-Hi").".sql\"\n\n";
  • $attachement .= chunk_split(base64_encode($this->sql_export));
  • mail($this->ini["email_adresse"],$sujet,$message.$attachement,$headers);
  • }
  • //save le fichier sur le serveur
  • public function save_file($file="")
  • {
  • $this->ini["file_name"] = empty($file) ? $this->ini["file_name"] : $file;
  • if (!$handle = fopen($this->ini["file_name"].'.sql', 'w'))
  • echo('Impossible d\'ouvrir en écriture le fichier sql : '.$this->ini["file_name"].".sql\n");
  • if (fwrite($handle, $this->sql_export) == FALSE)
  • echo('Erreur d\'exportation de la base '.$this->ini["db_name"]."\n");
  • fclose($handle);
  • }
  • //save le fichier sur un serveur externe
  • public function save_ftp($url="",$login="",$pwd="",$file="")
  • {
  • $this->ini["ftp_url"] = empty($url) ? $this->ini["ftp_url"] : $url;
  • $this->ini["ftp_login"] = empty($login) ? $this->ini["ftp_login"] : $login;
  • $this->ini["ftp_pass"] = empty($pwd) ? $this->ini["ftp_pass"] : $pwd;
  • $this->ini["ftp_filename"] = empty($file) ? $this->ini["ftp_filename"] : $file;
  • $conn_id = ftp_connect($this->ini["ftp_url"]);
  • // Identification avec un nom d'utilisateur et un mot de passe
  • $login_result = ftp_login($conn_id, $this->ini["ftp_login"], $this->ini["ftp_pass"]);
  • // Efface l'ancien fichier
  • $del_result = ftp_delete($conn_id,$this->ini["ftp_filename"].".sql");
  • // Fermeture de la connexion et du pointeur de fichier
  • ftp_close($conn_id);
  • $ftp = "ftp://".$this->ini["ftp_login"].":".$this->ini["ftp_pass"]."@".$this->ini["ftp_url"]."/".$this->ini["ftp_filename"].".sql";
  • $handle = fopen($ftp, "w") or die("FTP - Impossible d'ouvrir en écriture le fichier : ".$this->ini["file_name"].".sql\n");
  • if(fwrite($handle, $this->sql_export) == FALSE)
  • {
  • echo "Erreur d'exportation de la base ".$this->ini["db_name"]."\n";
  • }
  • fclose($handle);
  • }
  • }
  • /*************************************
  • * Variable pour des dates
  • *************************************/
  • define("VAR_JAN","Janvier");
  • define("VAR_FEV","Février");
  • define("VAR_MAR","Mars");
  • define("VAR_AVR","Avril");
  • define("VAR_MAI","Mai");
  • define("VAR_JUN","Juin");
  • define("VAR_JUI","Juillet");
  • define("VAR_AOU","Août");
  • define("VAR_SEP","Septembre");
  • define("VAR_OCT","Octobre");
  • define("VAR_NOV","Novembre");
  • define("VAR_DEC","Décembre");
  • function format_date($date) {
  • $mois = array(VAR_JAN, VAR_FEV, VAR_MAR, VAR_AVR, VAR_MAI, VAR_JUN, VAR_JUI, VAR_AOU, VAR_SEP, VAR_OCT, VAR_NOV, VAR_DEC);
  • $jour = strftime("%d", strtotime($date));
  • $mois2 = intval(strftime("%m", strtotime($date))) -1;
  • $mois2 = $mois[$mois2];
  • $annee = strftime("%Y", strtotime($date));
  • $date = $jour." ".$mois2.", ".$annee;
  • return $date;
  • }
  • /*************************************************/
  • /* Programme principal */
  • /*************************************************/
  • $DB = new saveBD($_GET["db"]);
  • $DB->print_db();
  • //$DB->save_ftp();
  • //$DB->save_file();
  • //$DB->confirme_email();
  • ?>
<?php


/*************************************************/
/*         SAUVEGARDE DE BASE DE DONNEES         */
/*             STRUCTURE ET CONTENU              */
/*          Option d'envoie par email, 	         */
/*	    Option de sauvegarde local, 	 */
/*	 Option de sauvegarde sur ftp distant	 */
/*************************************************/

/*
utilisation:
sauvegarde simple
--->	save_db.php?db=nom_de_la_base
*/

class saveBD {
	
	const Producteur_nom = "1030";
	const Producteur_commentaire = "Service de sauvegarde MySql";
	const Producteur_HTTP = "www.monsite.com";
	const Producteur_email = "webmaster@monsite.com";
	const Producteur_version = "1.0";
		
	private $sql_export = "";
	private $ini = array();
	
	public function __construct($db,$host="",$user="",$pass="") {
		$this->ini["db_host"] = !empty($host) ? $host : "localhost";
		$this->ini["db_user"] = !empty($user) ? $user : "root";
		$this->ini["db_pass"] = !empty($pass) ? $pass : "";
		$this->ini["db_name"] = $db;
		
		$this->ini["email_adresse"] = "votre@email.com";
		
		$this->ini["ftp_url"] = "ftp.monsite.com";
		$this->ini["ftp_login"] = "user";
		$this->ini["ftp_pass"] = "password";
		$this->ini["ftp_filename"] = "Backup_MySql_".$db;
		
		$this->ini["file_name"] = "Backup_MySql";
		
		$this->dbconnect();
		$this->sql_export = $this->contenu();
	}
	public function __destruct() 
	{
		@mysql_close();
	}
	private function get_table_structure($db, $table)//$db=nom de la base,$table=nom de la table
	{
		//CREATE TABLE
		$result = mysql_db_query($db, "SHOW CREATE TABLE `$table`") or mysql_die();
		$row = mysql_fetch_array($result);
		$schema_create = $row[1];
		
		$schema_create = str_replace("\n","\r\n",$schema_create).";";
		return (stripslashes($schema_create));
	}
	
	private function get_table_content($db, $table)//$db=nom de la base,$table=nom de la table
	{
		$result = mysql_db_query($db, "SELECT * FROM `$table`") or mysql_die();
		$i = 0;
		$search       = array("\x00", "\x0a", "\x0d", "\x1a"); //on remplace: NULL, LF, CR
		$replace      = array('\0', '\n', '\r', '\Z');
		
		//INSERT INTO
		$table_list = "(";
		for($j=0; $j<mysql_num_fields($result);$j++)
			$table_list .= "`".mysql_field_name($result,$j)."`, ";
	
		$table_list = substr($table_list,0,-2);
		$table_list .= ")";
	
		$schema_insert = "INSERT INTO `$table` $table_list VALUES \r\n";
		
		//VALUE	
		
		$value_insert = array();
		while($row = mysql_fetch_row($result))
		{
			$values = array();
			for($j=0; $j<mysql_num_fields($result);$j++)
			{
				
				if(!isset($row[$j])) {
					$values[] = "NULL";
				}
				elseif($row[$j] != "") {
					$values[] = "'".str_replace($search, $replace, addslashes($row[$j]))."'";
				}
				else {
					$values[] = " ''";
				}
			}
			$value_insert[] ='(' . implode(', ', $values) . ')';
			$i++;
		}
		
		$schema_insert = count($value_insert) > 0 ? $schema_insert . implode(",\r\n",$value_insert) .";" : "";
		
		return trim($schema_insert)."\r\n";
	}
	private function contenu()
	{
		$sql_export = "\r\n";
		$sql_export .= "# --------------------------------------------------------\r\n";
		$sql_export .= "# -- ".self::Producteur_nom." - ".self::Producteur_commentaire."\r\n";
		$sql_export .= "# -- Version ".self::Producteur_version."\r\n";
		$sql_export .= "# -- http://".self::Producteur_HTTP."\r\n";
		$sql_export .= "# -- \r\n";
		$sql_export .= "# -- Serveur : ".$this->ini["db_host"]."\r\n";
		$sql_export .= "# -- Généré le : ". format_date(Date("Y-m-d"))." à ".  Date("H:i") ."\r\n";
		$version_mysql = explode("-", mysql_get_server_info());
		$sql_export .= "# -- Version de MySql : ". $version_mysql[0] ."\r\n";
		$sql_export .= "# -- Version de PHP : ".phpversion()."\r\n";
		$sql_export .= "# -- \r\n";
		$sql_export .= "# -- Base de donnée : ". $this->ini["db_name"] ."\r\n";
		
		$i = 0;
		while($i < $this->ini["num_tables"])
		{
			$table = mysql_tablename($this->ini["tables"], $i);//Lit le nom de la table qui contient le champs spécifié
			
			$sql_export .= "# --------------------------------------------------------\r\n";
			$sql_export .= "\r\n";
			$sql_export .= "# -- \r\n";
			$sql_export .= "# -- Structure de la table `".$table."`\r\n";
			$sql_export .= "# -- \r\n";
			$sql_export .= "\r\n";
			$sql_export .= $this->get_table_structure($this->ini["db_name"], $table)."\r\n\r\n";
	
			$sql_export .= "# -- \r\n";
			$sql_export .= "# -- Contenu de la table `".$table."`\r\n";
			$sql_export .= "# -- \r\n";
			$sql_export .= "\r\n";
			$sql_export .= $this->get_table_content($this->ini["db_name"], $table);
	
			$i++;
	
		}
		return $sql_export;
	}
	//Connexion à la base de donnée
	private function dbconnect() {

		@set_time_limit(600);
		@mysql_connect($this->ini["db_host"],$this->ini["db_user"],$this->ini["db_pass"])
		or die("Impossible de se connecter - Problème sur le 'Hostname' ou sur le 'User' ou sur le 'Password'");
		@mysql_select_db($this->ini["db_name"])
		or die("Impossible de se connecter à la base ou nom de base inconnu");
		
		header("Expires: 0");
		
		$this->ini["tables"] = mysql_list_tables($this->ini["db_name"]);//Liste les tables d'une base de données.
		$this->ini["num_tables"] = mysql_num_rows($this->ini["tables"]);//Retourne le nombre de lignes d'un résultat
	}
	//Imprime à l'écrant le contenue pour la création de la BD
	public function print_db()
	{
		return str_replace("\r\n","<BR>",$this->sql_export);
	}
	//envoie un email avec le fichier joint
	public function confirme_email()
	{
	//Sujet du courriel
		$sujet = Producteur_commentaire." le ".date("d/m/Y");
		
	//Entete du courriel
		$boundary = '-----='.md5(uniqid(rand()));
		$headers  = "From: ".Producteur_nom."<".Producteur_email.">\n";		
		$headers .= "MIME-Version: 1.0\n";
		$headers .= "Content-Type: multipart/mixed;";
		$headers .= " boundary=\"----=".$boundary."\"\n\n";
		
		
	//Ajoute le message au courriel
		$message = "------=".$boundary."\n";
	   	$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
	   	$message .= "Content-Transfer-Encoding: 32bit\n\n";
	   	$message .= "
		Techno-Vie - Service de sauvegarde mensuelle de votre base de donnée
		";
	   	$message .= "\n\n";
   
   //Ajoute la pièce jointe
		$attachement = "------=".$boundary."\n";
		$attachement .= "Content-Type:  text/plain; name=\"Backup_MySql_aprmq_".date("Ymd-Hi").".sql\"\n";
		$attachement .= "Content-Transfer-Encoding: base64\n";
		$attachement .= "Content-Disposition: attachment; filename=\"Backup_MySql_aprmq_".date("Ymd-Hi").".sql\"\n\n";
		$attachement .= chunk_split(base64_encode($this->sql_export));

		mail($this->ini["email_adresse"],$sujet,$message.$attachement,$headers);
	}
	//save le fichier sur le serveur
	public function save_file($file="")
	{
		$this->ini["file_name"] = empty($file) ? $this->ini["file_name"] : $file;
		
		if (!$handle = fopen($this->ini["file_name"].'.sql', 'w'))
			echo('Impossible d\'ouvrir en écriture le fichier sql : '.$this->ini["file_name"].".sql\n");
		if (fwrite($handle, $this->sql_export) == FALSE)
			echo('Erreur d\'exportation de la base '.$this->ini["db_name"]."\n");
		fclose($handle);
	}
	//save le fichier sur un serveur externe
	public function save_ftp($url="",$login="",$pwd="",$file="")
	{
		$this->ini["ftp_url"] = empty($url) ? $this->ini["ftp_url"] : $url;
		$this->ini["ftp_login"] = empty($login) ? $this->ini["ftp_login"] : $login;
		$this->ini["ftp_pass"] = empty($pwd) ? $this->ini["ftp_pass"] : $pwd;
		$this->ini["ftp_filename"] = empty($file) ? $this->ini["ftp_filename"] : $file;

		
		$conn_id = ftp_connect($this->ini["ftp_url"]);

		// Identification avec un nom d'utilisateur et un mot de passe
		$login_result = ftp_login($conn_id, $this->ini["ftp_login"], $this->ini["ftp_pass"]);
		
		// Efface l'ancien fichier
		$del_result = ftp_delete($conn_id,$this->ini["ftp_filename"].".sql");
		
		// Fermeture de la connexion et du pointeur de fichier
		ftp_close($conn_id);
		
		$ftp = "ftp://".$this->ini["ftp_login"].":".$this->ini["ftp_pass"]."@".$this->ini["ftp_url"]."/".$this->ini["ftp_filename"].".sql";

		$handle = fopen($ftp, "w") or die("FTP - Impossible d'ouvrir en écriture le fichier : ".$this->ini["file_name"].".sql\n");

		if(fwrite($handle, $this->sql_export) == FALSE)
		{
			echo "Erreur d'exportation de la base ".$this->ini["db_name"]."\n";
		}
		fclose($handle);
	}
}

/*************************************
* Variable pour des dates
*************************************/
	define("VAR_JAN","Janvier");
	define("VAR_FEV","Février");
	define("VAR_MAR","Mars");
	define("VAR_AVR","Avril");
	define("VAR_MAI","Mai");
	define("VAR_JUN","Juin");
	define("VAR_JUI","Juillet");
	define("VAR_AOU","Août");
	define("VAR_SEP","Septembre");
	define("VAR_OCT","Octobre");
	define("VAR_NOV","Novembre");
	define("VAR_DEC","Décembre");

function format_date($date) {
	$mois = array(VAR_JAN, VAR_FEV, VAR_MAR, VAR_AVR, VAR_MAI, VAR_JUN, VAR_JUI, VAR_AOU, VAR_SEP, VAR_OCT, VAR_NOV, VAR_DEC);

	$jour = strftime("%d", strtotime($date));
	$mois2 = intval(strftime("%m", strtotime($date))) -1;
	$mois2 = $mois[$mois2];
	$annee = strftime("%Y", strtotime($date));
	
	$date = $jour." ".$mois2.", ".$annee;
	return $date;
}

/*************************************************/
/*           Programme principal                 */
/*************************************************/

$DB = new saveBD($_GET["db"]);
$DB->print_db();
//$DB->save_ftp();
//$DB->save_file();
//$DB->confirme_email();


?>

 Conclusion

J'attends vos impression, la perfection n'existe point hélas dans notre monde.


 Historique

17 avril 2008 14:38:16 :
Correction de la description
17 avril 2008 14:58:32 :
Correction mineur du code source
17 avril 2008 15:01:24 :
Correction mineur du code source
18 avril 2008 01:04:08 :
Modification des constants pour utilisé const aulieu de define dans ma class
18 avril 2008 01:08:48 :
j'ai effectuer une petit mise a jour de la section save_ftp() pour effacer l'ancien fichier et le remplacer par le nouveau.

 Sources du même auteur

Source avec Zip CLASSE DATETIME AVEC TRADUCTION

 Sources de la même categorie

Source avec Zip RECHERCHE DES DOUBLONS DANS UNE TABLE MYSQL EN SÉLECTIONNANT... par aladec2007
[CRON] INSERT ON DUPLICATE KEY UPDATE par pierreSabatier
Source avec Zip CLASS MYSQL 5/PHP5 AVEC GESTION DES EXCEPTION ET DES REQUÊTE... par devil_may_cry
Source avec Zip Source avec une capture MOTEUR DE RECHERCHE SUR BASE MYSQL FULLTEXT ET BOOLEAN AVEC ... par cod57
SYSTÈME DE PAGINATION AVEC BDD ET IMAGES (FICHIERS) par begueradj

 Sources en rapport avec celle ci

Source avec Zip CLASS PHP :: REQUÊTES MYSQL par devgoneti
Source avec Zip Source avec une capture SAUVEGARDE SQL ET DOSSIERS par frinux
Source avec une capture SAUVEGARDE AUTOMATISÉE DE VOS BASES DE DONNÉES par malik7934
Source avec Zip SAUVEGARDE DE BASE DE DONNÉES par ateaitys07
Source avec Zip Source avec une capture CLASSE DE MESSAGERIE par janhsh

Commentaires et avis

Commentaire de webdeb le 17/04/2008 19:06:54

Dans une classe, pour déclarer une constante, on utilise le mot clé "const"

Commentaire de mahlaoui le 21/04/2008 23:30:36

parfait (y)

Commentaire de christobal le 11/05/2008 10:01:53

Excelente source.`
pour un novice comme moi, elle a été trés facile a mettre en place et a faire fonctionné (5").
par contre je n'ais pas saisie tout les subtilitées et la force de cette source. Même si je sais que l'on peux envoyer par mail, ftp ou en local, je ne sais pas a quoi servent la fonction des dates, pourquoi dans certain cas on peux sasire dans l'url le nom de la table (pour sauvgarder juste une table ?) Comment faire fonctionner function print_db(). Pourquoi je n'ais pas de message quand l'envoie par mail c'est bien éffectué. Enfin voila toute ces petits tout qui fond des petit rien :).
Merci

Commentaire de 1030 le 15/05/2008 00:47:20

salut,

ma source à été réalisé dans le but de la mettre en cron sur un serveur distant, donc masouce.php?db=table permet de faire plusieur sauvegarde automatisé de mes base de données. Présentement elle sauvegarde tout la bd, mais si tu veux travaillé un peu dessus et pour permetre la sauvegarde juste d'une table, envoie moi le et je vais mettre cette source à jours.

pour la fonction des dates, elle permet de faire la conversion de mot en francais, c'Est a dire 03 = mars. si tu as plusieur langue a ton site, tu utilise le fichier avec le define que tu as de besoin pour que le mois s'afiche dans la languer désiré.

de plus tu est obligé de mettre le nom d'un table si tu veux que sa print quelque chose.

Commentaire de docteursas le 17/11/2008 16:46:03

j'essaie de mettre en place le code mais j'ai l'erreur suivante :
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in d:\icla3\testsave.php on line 20

Commentaire de mahlaoui le 17/11/2008 19:18:32

Cette classe fonctionne en PHP5
Donc vous êtes obligé de l'installer ou bien de modifier cette source pout l'adapter au PHP4 en éliminant les mots clé Private, Public

Commentaire de fabrice88 le 11/05/2010 13:08:38

Bonjour,
j'essai de faire fonctionner le system de sauvegarde pour mon site mais jusque là sans succès.
j'ai fait un copier coller du code proposé puis j'ai saisie les données de ma base de données et celles de mon acces ftp.
lorsque j'execute le script j'ai un temps de quelques secondes qui passe et apres j'ai une page blanche. Je ne reçoi aucune sauvegarde par mail ou autre.
D'ou pourrait venir le probleme ?

Commentaire de 1030 le 11/05/2010 19:04:30

Salut Fabrice88,

le script est bati pour fonctionner sous un principe de cron. Donc des exécution automatique shéduler sur le serveur. Il y a uniquement des message d'erreur qui sont retourné afin de facilité le débogage lors de test avec l'URL.

Si tu utilise la méthode $DB->save_ftp() vérifie dans ton répertoire si le fichier est écrit. Assure toi que l'utilisateur choisi pour la connexion a les droit d'écriture dans ce répertoire.

Prend le temp de lire les commentaires dans la source, il y a une fonction qui te permet d'afficher uniquement.

Commentaire de PetitRaptor le 08/06/2010 05:11:25

Bonjour,

Je sais que ce script peut enregistrer le fichier final sur le serveur, sous un serveur distant ou l'envoyer par mail.

J'ai aussi compris que pour l'utiliser sans tâche cron, il faut visiter la page comme ceci: ma_page_save.php?db=nom_db

Mais je ne suis pas vraiment un génie en poo PHP donc pourrais-je savoir comment envoyer cette sauvegarde par mail exactement ?

Cordialement,

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

verif existance dans bdd [ par cseagle ] Bonjour à tous,J'ai une table MySql membres qui contient les infos des membres. A l'inscription je vérifie si l'email existe déjà dans la base auquel Sauvegarde base mysql ? [ par Joez ] Salut je voudrais savoir comment sauvegarder une base mysql en cliquant sur une urlMerciet est il possible d'envoyer cette base par email ? Probleme d'update checkbox [ par Alpha911 ] Bonjour,j'ai une base de donn&#233;e avec le champ Compte_FTP de type TINYINT j'ai r&#233;alis&#233; le fichier php mise a jour permettant l'update&nb aide recup de variables [ par actinetwork ] Bonjour,je m'explik, j'ai un petit script php sui veut envoyer un mail a une personne de ma base. Mais je n'arrive pas à lui faire prendre l'email par fonction mysql_num_rows() [ par cladx ] Bon voila je veus savoir si l'email est present dans la base de donn&#233;e donc justilise tous naturelement la fonction mysql_num_rows() dont voici u pb SQL2 [ par kyript ] $row_keyA = $row_key1['email']; echo "$row_keyA"; mysql_select_db($database_roots, $roots); $query_pass = "SELECT password FROM mb_membres_verif W formulaire html, base de données MySQL , mail par php [ par a_sophie ] Voil&#224;, j'ai nune base de donn&#233;es sous MySQL, un formulaire html o&#249; une fois les champs remplis devront aller ds la base. Par contre par fonction mail [ par refkaben ] salut tous le monde!j'ai un formulaire d'inscription, si un membre vient de s'inscrire on lui envoi un mail lui demandant de me contacter, voila le co page Php+ Mysql qui galère [ par felix_12 ] Voila, cela fait quelques heures que je gal&#232;re ssur ce petit code de rien du toutr qui ne marche pas , il n'affiche aucune erreur mais il najoute redirection et session [ par sparh ] Bonjour,je bloque sur un problème de session.J'essai de créer une zone membre à l'aide des sessions. Pour l'instant tout va bien et j'ai donc un lien


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales