Script pour enregistrement automatique dans base données

Résolu
mipolette Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   -  
mipolette Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

voila, je vais avoir avoir dans quelques jours un cd avec dessus environ 2500 photos, qui va pour moi, être mon support pour une base de données.
Elles seront déjà triées en gros, mais je vais également les trier en plusieurs autres sous dossiers.
Au final, je compte avoir une belle arborescence de dossiers, correspondant au tri.
Ma question est de savoir si il existe un moyen de créer un script, qui pourrait automatiquement parcourir mon arbo, pour enregistrer mes dossiers sous forme de tables en base de données, et mes photos sous forme de produits.
Car effectivement, rentrer 2500 produits a la main...DUR!!!Mais si il n'y a pas le choix...
J'aimerais bien partager vos points de vue.
Merci d'avance.


A voir également:

4 réponses

mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Bonjour,

Oui c'est possible et même facile.

Ca s'appelle une exploration recursive d'une arborescence.


Voici un squelette de base:

if ( ! function_exists('glob_recursive'))
{
    // Does not support flag GLOB_BRACE
   
    function glob_recursive($pattern, $flags = 0)
    {
        $files = glob($pattern, $flags);
       
        foreach (glob(dirname($pattern).'/*', GLOB_ONLYDIR|GLOB_NOSORT) as $dir)
        {
            $files = array_merge($files, glob_recursive($dir.'/'.basename($pattern), $flags));
        }
       
        return $files;
    }
}

A+
0
mipolette Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   99
 
je vais essayer de me renseigner un peu plus sur le web, concernant ces explorations récursives .
En tout cas, je te remercie pour ta réponse.
Même si je me renseigne de mon coté, puis je te demander d'être un peu plus explicatif dans ta réponse, afin que je comprenne mieux le concept??
Merci
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Qu'est-ce que vous ne comprenez pas? La récursivité?

La récursivité est une fonction qui s'appelle elle-même. Dans l'exemple donné on a

function glob_recursive($pattern, $flags = 0)    { 
        ....... 
        
        foreach (glob(dirname($pattern).'/*', GLOB_ONLYDIR|GLOB_NOSORT) as $dir)  { 
            $files = array_merge($files, glob_recursive($dir.'/'.basename($pattern), $flags)); 
        } 
        .... 
    }


Après, pour l'analyse des fichiers, tout se passe après la variable $files

Là vous mettez l'analyse des fichiers et enregistrement des nouveaux items.

A+
0
mipolette Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   99
 
je pense que je ne comprend pas trés bien, car l'exemple n'est pas appliqué à un cas bien précis.Et j'ai du mal à me projet sur mon cas.
Pour mon catalogue, je vais avoir un gros dossier avec à l'intèrieur plein d'autres sous dossiers, et je ne vois pas comment appliquer ton exemple.
Je débute en php, peut être est-ce trop dur pour le niveau que j'ai?
Mais je suis rempli de bonne volonté...
Si tu veux bien continuer à m'aider et me guider ça serait vraiment cool..
Pourquoi ne pas imaginer qu'on a un dossier sur le bureau qu'on appelle simplement Base(celui que l'on veut analyser), avec a l'intèrieur juste 3 sous-dossiers qu'on appellerait voiture, bus, velo...? Pour faire simple quoi...
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
une fonction récursive sait analyser n'importe quelle arborescence. Pour la vôtre:

glob_recursive('Base');;

Ca suffira pour lancer l'analyse dans votre répertoire Base et tous ses sous-répertoires.
0
mipolette Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   99
 
TRés bien..ça me donne de bonnes pistes de réflexion pour la suite.Je vais attendre de récupérer mon fichier et essayer ce que dont vous m'avez parlé.
Je vous remercie de votre réponse, et étant donné que ma question était de savoir quelle moyen existait t'il pour mon besoin, je mets le sujet en résolu.
Merci encore
0