Rev 24 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/** Exemple lancement:* /opt/lampp/bin/php -d memory_limit=3500M ~/web/nripts/cli.php nvjfl -a indexer -f /home/delphine/Documents/nvjfl_version_2007-10-29/NomsVernaculaires-2007-10-29/NomsVernaculaires-2007-10-29.csv* Options :* -f : indiquer le chemin du fichier à analyser*/class Nvjfl extends Script {protected $parametres_autorises = array('-f' => array(true, null, 'Chemin du fichier à analyser'));public function executer() {// Lancement de l'action demandée$cmd = $this->getParametre('a');switch ($cmd) {case 'indexer' :$this->indexer();break;default :$this->traiterErreur('Erreur : la commande "%s" n\'existe pas!', array($cmd));}}private function indexer() {// créer un index pour un nom identique la clé primaire est composée de cet index + num_taxon + langue$nomFichier = $this->getParametre('f');if ($nomFichier) {if (file_exists($nomFichier) === true) {if ( $fichierOuvert = fopen($nomFichier, 'r') ) {$this->bdd = new Bdd();$nom_precedent = '';$index = 0;while ($ligne = fgets($fichierOuvert)) {$champs = explode(';', $ligne);if ($champs[3] != $nom_precedent) {$index ++;$nom_precedent = $champs[3];}$champs[0] = $index;$this->bdd->requeter('INSERT INTO '.Config::get('bdd_table').' VALUES ('.implode(', ',$champs).');');}fclose($fichierOuvert);} else {$this->traiterErreur("Le fichier $nomFichier n'a pas pu être ouvert.");}} else {$this->traiterErreur("Le fichier $nomFichier est introuvable.");}}}}?>