14,10 → 14,6 |
'-t' => array(false, false, 'Permet de tester le script sur un jeux réduit de données (indiquer le nombre de lignes).')); |
|
public function executer() { |
// désactive le problématique gestionnaire d'erreur du framework |
restore_error_handler(); |
restore_exception_handler(); |
ini_set('mysql.default_socket', '/home/raphael/web/mysql/mysql.sock'); |
// Lancement de l'action demandée |
try { |
$this->initialiserProjet('nvjfl'); |
63,28 → 59,24 |
private function chargerNvjfl() { |
//Debug::printr(Config::get('fichiers')); |
$fichierOuvert = $this->ouvrirFichier(Config::get('chemins.nvjfl')); |
$donnees = $this->analyserFichier($fichierOuvert); |
fclose($fichierOuvert); |
foreach ($donnees as $donnee) { |
$requete = 'INSERT INTO '.Config::get('tables.nvjfl').' VALUES ('.implode(', ', $donnee).')'; |
$this->getBdd()->requeter($requete); |
|
while(($donnees = $this->analyserFichier($fichierOuvert))) { |
foreach ($donnees as $donnee) { |
$requete = 'INSERT INTO '.Config::get('tables.nvjfl').' VALUES ('.implode(', ', $donnee).')'; |
var_dump($donnee);die; |
$this->getBdd()->requeter($requete); |
|
$this->afficherAvancement("Insertion des noms vernaculaires dans la base de données"); |
if ($this->stopperLaBoucle($this->getParametre('t'))) { |
break; |
} |
$this->afficherAvancement("Insertion des noms vernaculaires dans la base de données"); |
if ($this->stopperLaBoucle($this->getParametre('t'))) { |
break; |
} |
echo "\n"; |
} |
fclose($fichierOuvert); |
echo "\n"; |
} |
|
private function analyserFichier($fichierOuvert, $limite = 30000) { |
static $passe = 1; |
if($passe == 1) $entetesCsv = fgets($fichierOuvert); |
private function analyserFichier($fichierOuvert) { |
$donnees = array(); |
while (count($donnees) < $limite && ($ligneCsv = fgets($fichierOuvert))) { |
$entetesCsv = fgets($fichierOuvert); |
while ($ligneCsv = fgets($fichierOuvert)) { |
$champs = explode("\t", trim($ligneCsv)); |
if (count($champs) > 0) { |
if (isset($champs[2])) { |
94,12 → 86,11 |
$donnees[] = $this->protegerValeursDesChamps($champs); |
} |
} |
$this->afficherAvancement("Analyse du fichier des noms vernaculaires (passe $passe)"); |
$this->afficherAvancement("Analyse du fichier des noms vernaculaires"); |
if ($this->stopperLaBoucle()) { |
break; |
} |
} |
$passe++; |
echo "\n"; |
return $donnees; |
} |
110,7 → 101,6 |
$this->nomsIndex[$nomVernaculaire] = $this->numeroIndex++; |
} |
$indexCourrant = $this->nomsIndex[$nomVernaculaire]; |
echo "$nomVernaculaire : $indexCourrant\n"; |
return $indexCourrant; |
} |
|