Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Auteur : Yogui
Version : 03/07/2006
Téléchargez le zip
Script de sauvegarde de base de données volumineuse sous phpBB
Ce script détermine la structure des tables d'une base de données, essaie de trouver tout seul les clés primaires si elles n'existent pas (c'est parfois le cas lorsqu'il s'agit de phpBB) et les utilise pour récupérer les enregistrements. Au fur et à mesure de la récupération des données, tout est sauvegardé dans des fichiers texte compressés. Lorsque le timeout se rapproche ou lorsque le disque est plein, le script s'arrête de lui-même et affiche un bouton pour que l'on puisse lui dire de continuer la sauvegarde à partir d'où il en était. Des liens sont affichés pour télécharger les archives compressées mais j'ai préféré éviter d'automatiser leur suppression. Attention, mon code est phpBB-specific, c'est-à-dire que j'utilise la classe d'astraction de BDD, l'en-tête de page, les sessions, la stratégie de sécurité et quelques tables de phpBB.
Pour installer le script, vous aurez besoin de :
  • PhpBB
  • Créer la table suivante (n'oubliez pas votre préfixe) :
CREATE TABLE `phpbb_db_backup` (
  `table_name` varchar(255) NOT NULL default '',
  `offset` int(11) NOT NULL default '0',
  PRIMARY KEY  (`table_name`)
)
  • Définir la constante qui contient le nom de la table de tracking :
define('BACKUP_TRACKING_TABLE', $table_prefix.'db_backup_tracking');
Cela peut être fait dans le script lui-même (au début) ou bien, et c'est ma recommandation, dans le script de phpBB qui est prévu à cet effet (habituellement /includes/constants.php).
  • Copier le script dans le répertoire des scripts d'administration (habituellement dans le répertoire /admin de votre forum)

Pour l'utiliser, allez dans l'ACP et cliquez sur le nouveau lien du menu, puis suivez les instructions.


Auteur : genova
Version : 16/01/2006
Séparateur de requêtes
Ce code permet de séparer des requêtes sur un caractère donné.
Il gère le fait qu'un ; peut être contenu dans une requête, de même que les \'.
Utile si on veut faire des scripts sql.
/*
   ** Même effet que la fonction explode() mais inhibe le délimiteur entre les
   ** simples quotes.
   ** -----
   ** $delimiter :: Délimiteur de chaines
   ** $str :: Chaîne de caractères
   */
   function explode_parser($delimiter, $str)
   {
      $len = strlen($str);
      for ($i = 0, $in_delimiter = TRUE, $quote_is_begin = FALSE, $tab = array(), $tmp = ''; $i < $len; $i++)
      {
         if ($str{$i} != $delimiter || ($quote_is_begin && $str{$i} == $delimiter))
         {
            if ($str{$i} == "'" && !$quote_is_begin)
            {
               $quote_is_begin = TRUE;
            }
            else if ($str{$i} == "'" && $quote_is_begin && $str{$i - 1} != '\\')
            {
               $quote_is_begin = FALSE;
            }
            $tmp .= $str{$i};
            $in_delimiter = FALSE;
         }
         else if ($str{$i} == $delimiter && !$in_delimiter && !$quote_is_begin)
         {
            $in_delimiter = TRUE;
            if (strlen($tmp) > 0)
            {
               $tab[] = $tmp;
            }
            $tmp = '';
         }
      }

      if (strlen($tmp) > 0)
      {
         $tab[] = $tmp;
      }
      return ($tab);
   }

precedent    sommaire    suivant   

Consultez les autres pages sources


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2006  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com