IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > Bases de données
        Séparateur de requêtes
        Script de sauvegarde de base de données volumineuse sous phpBB
        1.1. MySQL (7)
                Afficher le résultat d'une requête MySQL comme dans phpMyAdmin
                Gérer sa base de données
                Sauvegarder des données dans un fichier depuis une Base de Données
                Création d'un compteur avec une base de données mySQL
                Insérer, modifier et supprimer un enregistrement
                Sauvegarder la structure et les données d'une base MySQL
                Pagination d'un résultat de requête



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);
   }

Auteur : Guillaume Rossolini
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.



Consultez les autres pages sources


Valid XHTML 1.0 TransitionalValid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.