677 lines
24 KiB
PHP
677 lines
24 KiB
PHP
<?php
|
||
// Define path to application directory
|
||
defined('APPLICATION_PATH')
|
||
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../../application'));
|
||
|
||
// Define application environment
|
||
defined('APPLICATION_ENV')
|
||
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'development'));
|
||
|
||
// Ensure library/ is on include_path
|
||
set_include_path(implode(PATH_SEPARATOR, array(
|
||
realpath(APPLICATION_PATH . '/../library'),
|
||
get_include_path(),
|
||
)));
|
||
|
||
|
||
|
||
//Use classmap autoloader - useful with opcode and realpath cache
|
||
require_once 'Zend/Loader/AutoloaderFactory.php';
|
||
require_once 'Zend/Loader/ClassMapAutoloader.php';
|
||
|
||
|
||
Zend_Loader_AutoloaderFactory::factory(array(
|
||
'Zend_Loader_ClassMapAutoloader' => array(
|
||
__DIR__ . '/../../library/Zend/autoload_classmap.php',
|
||
__DIR__ . '/../../library/Application/autoload_classmap.php',
|
||
__DIR__ . '/../../application/autoload_classmap.php',
|
||
__DIR__ . '/../../library/Scores/autoload_classmap.php',
|
||
__DIR__ . '/../../library/SdMetier/autoload_classmap.php',
|
||
),
|
||
'Zend_Loader_StandardAutoloader' => array(
|
||
'prefixes' => array(
|
||
'Zend' => __DIR__ . '/../../library/Zend',
|
||
'Application' => __DIR__ . '/../../library/Application',
|
||
'Scores' => __DIR__ . '/../../library/Scores',
|
||
'SdMetier' => __DIR__ . '/../../library/SdMetier',
|
||
'Metier' => __DIR__ . '/../../library/Metier',
|
||
),
|
||
'fallback_autoloader' => true
|
||
)
|
||
));
|
||
|
||
// Zend_Application - Use it if you don't have autoloaders
|
||
//require_once 'Zend/Application.php';
|
||
|
||
// Create application, bootstrap, and run
|
||
$application = new Zend_Application(
|
||
APPLICATION_ENV,
|
||
APPLICATION_PATH . '/configs/application.ini'
|
||
);
|
||
|
||
// require ../library/Zend/Mesvars.php
|
||
|
||
|
||
try {
|
||
$opts = new Zend_Console_Getopt(
|
||
//Options
|
||
array(
|
||
|
||
'help|?' => "Aide.",
|
||
'fichier=s' => "Nom du fichier complet : version ",
|
||
'affiche=s' => "Affiche resultat traitement "
|
||
));
|
||
$opts->parse();
|
||
}
|
||
|
||
catch (Zend_Console_Getopt_Exception $e)
|
||
{
|
||
echo $opts->getUsageMessage();
|
||
exit;
|
||
}
|
||
|
||
//Usage
|
||
if( count($opts->getOptions())==0 || isset($opts->help))
|
||
{
|
||
echo $opts->getUsageMessage();
|
||
exit;
|
||
}
|
||
|
||
#########################################################
|
||
##### Presence te taille du fichier #####
|
||
#########################################################
|
||
|
||
$fichier = $opts->fichier; // $fichier contient chemin/qqchose.csv
|
||
$nomfichier = basename($fichier); // $nomfichier contient qqchose.csv, basename retourne un array donc un tableau ayant comme valeur chacun des
|
||
|
||
// fichiers (chemain absolu) contenu dans le repertoir $directory, ici le repertoir contient normalement une seul fichier a la fois , donc $fichier[]
|
||
$fic = $fichier ; // On definti notre variable $fic comme etant notre fichier.
|
||
|
||
#########################################################
|
||
##### Teste de validité du nom du fichier #####
|
||
#########################################################
|
||
|
||
$detect1 = strstr($nomfichier, 'valo_commentaires_');
|
||
$detect2 = strstr($nomfichier, 'valo_formules_');
|
||
$detect3 = strstr($nomfichier, 'scores_formules_');
|
||
$detect4 = strstr($nomfichier, 'scores_commentaires_');
|
||
|
||
|
||
if ($detect1 !== false or $detect2 !== false or $detect3 !== false or $detect4 !== false)
|
||
{
|
||
echo "\n"." Nom du fichier ok"."\n" ;
|
||
}
|
||
else
|
||
{
|
||
echo "\n" . "le nom du fichier est incorrect" . "\n";
|
||
echo "\n" . "le nom du fichier doit obliqatoirement etre compose de la sorte :" . "\n";
|
||
echo "\n" . 'valo_commentaires_' . "\n";
|
||
echo "\n" ."ou"."\n";
|
||
echo "\n" . 'valo_formules_' . "\n";
|
||
echo "\n" ."ou"."\n";
|
||
echo "\n" . 'scores_formules_' . "\n";
|
||
echo "\n" ."ou"."\n";
|
||
echo "\n" . 'scores_commentaires_' . "\n";
|
||
|
||
Exit;
|
||
}
|
||
|
||
|
||
#########################################################
|
||
##### On indique si le fichier est present ou non #####
|
||
#########################################################
|
||
|
||
if ((file_exists($fichier)))
|
||
{
|
||
echo "\n Fichier $nomfichier au format csv trouve a l'emplacement prevu : \n";
|
||
echo "\n"." La taille du fichier est de :".filesize($fic)." octets"."\n";
|
||
$file = true;
|
||
}
|
||
else
|
||
{
|
||
echo "\n". "Pas de fichier .csv present a l'endroit indique"."\n";
|
||
$file = false;
|
||
exit;
|
||
}
|
||
|
||
#########################################################
|
||
##### taille du contenu du fichier #####
|
||
#########################################################
|
||
|
||
# déclaration variables :
|
||
|
||
$fileopen = fopen($fic, 'r');
|
||
$contenufichier = fgetcsv($fileopen);
|
||
$nblignes=0;
|
||
$cnbl = count($nblignes);
|
||
$fific = file($fic); // retourner le contenu du fichier dans une chaîne de caractères.
|
||
|
||
|
||
foreach ($fific as $line_num => $line)
|
||
{
|
||
$nblignes++;
|
||
}
|
||
echo "\n"." le fichier contient " . $nblignes . " lignes."."\n" ;
|
||
|
||
|
||
#########################################################
|
||
##### Routage vers commentaires ou formules #####
|
||
#########################################################
|
||
|
||
#variables :
|
||
|
||
$doublon = 0; // On initialise la variable doublon.
|
||
$row = 0 ; // On initialise les lignes.
|
||
$verif = array() ; // creation d'un tableau
|
||
$nom_fic = basename($fic) ;
|
||
$col3= 0;
|
||
|
||
#########################################################
|
||
##### Identification du type de fichier #####
|
||
#########################################################
|
||
|
||
//On commance rechercher si le nom du fichier contient "COMMENTAIRE" pour 4 colonnes sinon 2 colonnes
|
||
if (strstr($nom_fic, 'commentaires'))
|
||
{
|
||
$nbcol_cle = 4;
|
||
}
|
||
else
|
||
{
|
||
$nbcol_cle = 2;
|
||
}
|
||
|
||
// Si $fic est bien ouvert on commence le traitement.
|
||
if ($file = true )
|
||
{
|
||
$fileopen2 = fopen($fic, "r+");
|
||
|
||
if($fileopen2)
|
||
{
|
||
$contenufichier=fgetcsv($fileopen2);
|
||
$nblignes = file($fic);
|
||
|
||
// Tant qu'il y a des lignes, lis les et fait en un tableau.
|
||
while (($data = fgetcsv($fileopen2,0,';','"')) !== FALSE)
|
||
{
|
||
$num = count($row); //compte nombre de partits dans la phrase
|
||
$row++;
|
||
|
||
// On fait une concatenation des colonnes de $fic dans un nouveau tableau nomme $cle.
|
||
// Cela nous permettera de dedoublonner par la suite.
|
||
|
||
if ($nbcol_cle == 4) // si nbcol = 4 alors notre clé sera composée de 4 colonnes sinon 3
|
||
{
|
||
$cle = $data[0].$data[1].$data[2].$data[3];
|
||
}
|
||
else
|
||
{
|
||
$cle = $data[0].$data[1].$data[2];
|
||
}
|
||
|
||
#########################################################
|
||
##### Dédoublonnage #####
|
||
#########################################################
|
||
|
||
// On regarde si on retrouve les valeurs de $verif dans $cle
|
||
if (in_array($cle, $verif, TRUE))
|
||
{
|
||
$doublon = $doublon + 1; // On définit un compteur qui nous indiquera le nombre de doublons
|
||
echo "\n"."Attention vous avez $doublon doublon(s) dans votre fichier !\n";
|
||
echo "\n"."il semblerait qu'il soit present a la ligne $row contenant $cle "."\n";
|
||
}
|
||
else
|
||
{
|
||
// Ajout de la cle au tableau indexe numeriquement
|
||
$verif[] = $cle ;
|
||
}
|
||
#########################################################
|
||
##### Routage commentaires ou formules #####
|
||
##### et verification des champs #####
|
||
#########################################################
|
||
if (strstr ($nom_fic , 'commentaires'))// le nom du fichier contient 'commentaires' alors ...
|
||
{
|
||
// On teste les champs vide
|
||
if (strlen($data[0])== 0 or strlen($data[1]) == 0
|
||
or strlen($data[2]) == 0 or strlen($data[3]) == 0)
|
||
{
|
||
echo "\n"."Erreur ! Vous avez des champs vides commentaires , sur la ligne $num"."\n"."contenant $data[1].$data[2].$data[3].$data[4].$data[5].$data[6].$data[7]";
|
||
}
|
||
|
||
if ($data[0] == 0)
|
||
{
|
||
echo "\n"."erreur code commentaire ". $data[0] ." null"."\n";
|
||
exit;
|
||
}
|
||
|
||
if($data[2] < 0)
|
||
{
|
||
echo "\n"."erreur code ligne " . $data[2] . "null"."\n";
|
||
exit;
|
||
}
|
||
}
|
||
elseif (strstr ($nom_fic , 'formules'))
|
||
{
|
||
if (strlen($data[0]) == 0 or strlen($data[1]) == 0 )
|
||
{
|
||
echo "\n"." Erreur vous avez des champs vides formules , sur la ligne $row"."\n"."contenant $data[0].$data[1]. . ";
|
||
exit;
|
||
}
|
||
|
||
if ($data[0] == 0)
|
||
{
|
||
echo "\n"."erreur code commentaire " . $data[0] . " null"."\n";
|
||
exit;
|
||
}
|
||
|
||
if($data[1] < 0)
|
||
{
|
||
echo "\n"."erreur code code ligne". $data[1] ."null"."\n";
|
||
exit;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if ($doublon >= 1)
|
||
{
|
||
$ok = false;
|
||
echo "\n"." $doublon Doublons détectés dans le fichier."."\n";
|
||
// Quitte avec un code d'erreur: doublon détecté.
|
||
exit(1);
|
||
|
||
}
|
||
elseif ($doublon == 0 && !file_exists($fic))
|
||
{
|
||
$ok = false;
|
||
exit;
|
||
}
|
||
else
|
||
{
|
||
|
||
// le script appelant continue.
|
||
$ok = true; // petit marqueur de fonctionnement du script jusqu'a présent
|
||
echo "\n Le fichier ne comporte pas de doublon. \n";
|
||
}
|
||
|
||
fclose($fileopen);
|
||
|
||
|
||
echo "\n Bon, maintenant on va passer a la base de donnee \n";
|
||
|
||
#########################################################
|
||
##### ________ ____ ____ #####
|
||
### | __ \ | \ | \ ###
|
||
# | / | |\ \ | |\ \ #
|
||
### | __ \ | |/ / | |/ / ###
|
||
##### |_______/ |___/ |___/ #####
|
||
#########################################################
|
||
|
||
// si notre scripte est bon on passe a la suite
|
||
$c = new Zend_Config($application->getOptions());
|
||
try {
|
||
$db = Zend_Db::factory($c->profil->db->metier);
|
||
$db->getConnection();
|
||
// print_r (get_class_methods($db));
|
||
}
|
||
catch (Zend_Exception $e)
|
||
{
|
||
echo $e->getMessage();
|
||
}
|
||
|
||
if ($db->isConnected())
|
||
{
|
||
echo "\n***********************************************\n";
|
||
echo "\n Connection a la BDD ok \n";
|
||
echo "\n***********************************************\n";
|
||
}
|
||
else
|
||
{
|
||
echo "\n***********************************************\n";
|
||
echo "\n !!!! Erreur / ! Pas connecte a la BDD !!!! \n";
|
||
echo "\n***********************************************\n";
|
||
}
|
||
|
||
$pathCache = APPLICATION_PATH . '/../library/Metier/scores/Variables';
|
||
$copy_fic = $nomfichier;
|
||
|
||
if($nomfichier) // Si le nom du fichier comprend 'scores' ou 'valo'...
|
||
{
|
||
// On découpe la chaine de caractère à chaque "/" et on fait un array.
|
||
$token = basename($copy_fic);
|
||
|
||
// On prend ce qui se trouve avant le point
|
||
$token1 = strtok($token, ".");
|
||
|
||
// On effece '_utf8' et '.csv'
|
||
$nomtabletemp =(str_replace('_utf8', '', $token));
|
||
$nomtable =(str_replace('.csv','', $nomtabletemp));
|
||
|
||
// Affichage du nom de la table
|
||
echo "\n Le nom de la table est : $nomtable . \n";
|
||
}
|
||
|
||
####################################################
|
||
##### // Création de la Table Ccmmentaires \\ #####
|
||
####################################################
|
||
|
||
if (strstr($nomtable,"commentaires"))
|
||
{
|
||
|
||
try
|
||
{
|
||
// Création d'une table "TEXTE"
|
||
$sql_ctc_query = $db->query("CREATE TABLE $nomtable
|
||
(
|
||
code int(8) NOT NULL,
|
||
langue char(2) NOT NULL,
|
||
cycle smallint(3) NOT NULL,
|
||
ligne char(4) NOT NULL,
|
||
commentaire longtext,
|
||
tri varchar(5) DEFAULT NULL,
|
||
deleted varchar(2) DEFAULT NULL,
|
||
idUser varchar(0) DEFAULT NULL,
|
||
dateInsert varchar(15) DEFAULT NULL,
|
||
dateUpdate varchar(0) DEFAULT NULL,
|
||
PRIMARY KEY (code,langue,cycle,ligne)
|
||
)
|
||
ENGINE = MyISAM DEFAULT CHARSET=latin1 COMMENT= 'Commentaires Valorisation - Liste des commentaires';");
|
||
}
|
||
catch (Zend_Exception $e)
|
||
{
|
||
echo $e->getMessage()."\n";
|
||
echo "\n"."!!!!! ERREUR ! / CHARGEMENT ARRETE !!!!!"."\n"."\n";
|
||
|
||
}
|
||
echo "\n" . " Table $nomtable cree." ."\n";
|
||
}
|
||
|
||
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||
|
||
$fileopen2 = fopen($fic, "r+");
|
||
$nbr=0;
|
||
|
||
if($fileopen2)
|
||
{
|
||
$contenufichier=fgetcsv($fileopen2);
|
||
$nblignes = file($fic);
|
||
$vide = "";
|
||
$null = null;
|
||
$zero = 0;
|
||
}
|
||
else
|
||
{
|
||
exit;
|
||
echo "\n"."Erreur a l'ouverture du fichier"."\n";
|
||
}
|
||
|
||
if(strstr($nomtable,"commentaires"))
|
||
{
|
||
// Tant qu'il y a des lignes, lis les et fait en un tableau.
|
||
while (($data = fgetcsv($fileopen2,0,';','"')) !== FALSE)
|
||
{
|
||
|
||
####################################################
|
||
##### encodage et remplacement du contenu #####
|
||
####################################################
|
||
|
||
$data[4] = str_replace(chr(93), "]", $data[4]); // crochet fermant
|
||
$data[4] = str_replace(chr(92), "\\" , $data[4]); // anti slash
|
||
$data[4] = str_replace(chr(128), '€', $data[4]); // devise euros
|
||
$data[4] = str_replace(chr(130), ',', $data[4]); // baseline single quote
|
||
$data[4] = str_replace(chr(132), '"', $data[4]); // baseline double quote
|
||
$data[4] = str_replace(chr(133), '...', $data[4]); // ellipsis
|
||
$data[4] = str_replace(chr(145), "'", $data[4]); // left single quote
|
||
$data[4] = str_replace(chr(146), "'", $data[4]); // right single quote
|
||
$data[4] = str_replace(chr(147), '"', $data[4]); // left double quote
|
||
$data[4] = str_replace(chr(148), '"', $data[4]); // right double quote
|
||
$data[4] = str_replace(chr(150), '–', $data[4]); // tiret du 6
|
||
|
||
|
||
$data[5] = str_replace(chr(93), "]", $data[5]); // crochet fermant
|
||
$data[5] = str_replace(chr(92), "\\" , $data[5]); // anti slash
|
||
$data[5] = str_replace(chr(128), '€', $data[5]); // devise euros
|
||
$data[5] = str_replace(chr(130), ',', $data[5]); // baseline single quote
|
||
$data[5] = str_replace(chr(132), '"', $data[5]); // baseline double quote
|
||
$data[5] = str_replace(chr(133), '...', $data[5]); // ellipsis
|
||
$data[5] = str_replace(chr(145), "'", $data[5]); // left single quote
|
||
$data[5] = str_replace(chr(146), "'", $data[5]); // right single quote
|
||
$data[5] = str_replace(chr(147), '"', $data[5]); // left double quote
|
||
$data[5] = str_replace(chr(148), '"', $data[5]); // right double quote
|
||
$data[5] = str_replace(chr(150), '–', $data[5]); // tiret du 6
|
||
|
||
$encode = mb_detect_encoding($data[4]); // detection de l'encodage.
|
||
$encode = mb_detect_encoding($data[5]); // detection de l'encodage.
|
||
$data[4] = mb_convert_encoding($data[4], $encode, 'UTF-8');
|
||
$data[5] = mb_convert_encoding($data[5], $encode, 'UTF-8');
|
||
|
||
// $Zdata4 = '"'.$db->->real_escape_string($data[4]);
|
||
// $Zdata4 = $db->quote($data[4]);
|
||
|
||
//$Zdata4 = mysqli_real_escape_string($db, $data[4]);
|
||
|
||
if ($data[5] == null)
|
||
{
|
||
$data[5] = 0;
|
||
}
|
||
|
||
$zdata4= $db->quote($data[4]);
|
||
$nbr++;
|
||
|
||
// ESSAI 1
|
||
$sql_insert = array
|
||
(
|
||
'code' => "$data[0]",
|
||
'langue' => "$data[1]",
|
||
'cycle' => "$data[2]",
|
||
'ligne' => "$data[3]",
|
||
'commentaire' => "$data[4]",
|
||
'tri' => "$data[5]",
|
||
'deleted' => "$null",
|
||
'idUser' => "$null",
|
||
'dateInsert' => "$null",
|
||
'dateUpdate' => "$null"
|
||
);
|
||
|
||
try
|
||
{
|
||
# $num = count($row); // On compte nombre de parti dans la phrase
|
||
# $row++; // à chaques tour de boucle j'ajoute 1 à $row
|
||
|
||
|
||
// ESSAI 2
|
||
/*
|
||
$sql_itc = $db->query("INSERT INTO $nomtable
|
||
(
|
||
code, langue, cycle, ligne, commentaire, tri, deleted, idUser, dateInsert, dateUpdate)
|
||
VALUES
|
||
(
|
||
".$data[0].",".$data[1].",".$data[2].",".$data[3].",".$Zdata4.",".$data[5].",'','','',)
|
||
");
|
||
*/
|
||
|
||
$db->insert($nomtable, $sql_insert);
|
||
|
||
//`
|
||
// Astuce !! La structure de $data[0] étant un int on retire les "
|
||
// Astuce !! La colonne 5 contenant des apostrophs étant interprété par le sql comme un nouveau champ il est necessaire de protéger ce champs, du coup in ajoute la fonction mysql_real_escape_string() pour insérer un antislash devant les caractères " NULL, \x00, \n, \r, \, ', " et \x1a. "
|
||
}
|
||
|
||
// Renseignement sur les erreurs possibles
|
||
#echo ("$sql_itt");
|
||
catch(Zend_Exception $e)
|
||
{
|
||
echo "\n" . $e->getMessage()."\n";
|
||
|
||
//echo "\n"."!!!!!!!!!!!!!!!!!!!!! Import de la table $nomtable echouee. !!!!!!!!!!!!!!!!!!!!!"."\n"."\n";
|
||
//$sql_erase = $db->query("DROP TABLE $nomtable;");
|
||
//echo "La table $nomtable a ete effacee !! \n ";
|
||
}
|
||
}
|
||
|
||
echo "\n"."Import de la table $nomtable . ok". "\n";
|
||
|
||
// comptage sql
|
||
$comptage = count($sql_itc_query);
|
||
echo "\n"."Nombre de lignes importees : "."$nbr"."\n";
|
||
|
||
exit;
|
||
}
|
||
|
||
|
||
|
||
elseif(strstr($nomtable,"formules"))
|
||
{
|
||
####################################################
|
||
// Création de la Table formules \\
|
||
####################################################
|
||
try{
|
||
$sql_ctf_query = $db->query("CREATE TABLE $nomtable
|
||
(
|
||
code int(8) NOT NULL DEFAULT '0',
|
||
ligne char(4) NOT NULL DEFAULT '',
|
||
remarque varchar(120) DEFAULT NULL,
|
||
operande varchar(7) DEFAULT NULL,
|
||
ope1 varchar(255) DEFAULT NULL,
|
||
operation varchar(9) DEFAULT NULL,
|
||
valeur varchar(255) DEFAULT NULL,
|
||
tri varchar(0) DEFAULT NULL,
|
||
deleted varchar(0) DEFAULT NULL,
|
||
idUser varchar(0) DEFAULT NULL,
|
||
dateInsert varchar(0) DEFAULT NULL,
|
||
dateUpdate varchar(0) DEFAULT NULL,
|
||
PRIMARY KEY (code,ligne)
|
||
)
|
||
ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Criteres Valorisation - Formules de calculs' ;");
|
||
|
||
}
|
||
catch (Zend_Exception $e)
|
||
{
|
||
echo $e->getMessage()."\n";
|
||
echo "\n"."!!!!!!!!!!!!!!!!!!!!! CHARGEMENT ARRETE !!!!!!!!!!!!!!!!!!!!!"."\n"."\n";
|
||
}
|
||
echo "\n Table $nomtable cree.\n";
|
||
|
||
|
||
// Tant qu'il y a des lignes, lis les et fait en un tableau.
|
||
while (($data = fgetcsv($fileopen2,0,';','"')) !== FALSE)
|
||
{
|
||
|
||
|
||
####################################################
|
||
##### encodage et remplacement du contenu #####
|
||
####################################################
|
||
|
||
$data[2] = str_replace(chr(93), "]", $data[2]); // crochet fermant
|
||
$data[2] = str_replace(chr(92), "\\" , $data[2]); // anti slash
|
||
$data[2] = str_replace(chr(128), '€', $data[2]); // devise euros
|
||
$data[2] = str_replace(chr(130), ',', $data[2]); // baseline single quote
|
||
$data[2] = str_replace(chr(132), '"', $data[2]); // baseline double quote
|
||
$data[2] = str_replace(chr(133), '...', $data[2]); // ellipsis
|
||
$data[2] = str_replace(chr(145), "'", $data[2]); // left single quote
|
||
$data[2] = str_replace(chr(146), "'", $data[2]); // right single quote
|
||
$data[2] = str_replace(chr(147), '"', $data[2]); // left double quote
|
||
$data[2] = str_replace(chr(148), '"', $data[2]); // right double quote
|
||
$data[2] = str_replace(chr(150), '–', $data[2]); // tiret du 6
|
||
|
||
|
||
$data[4] = str_replace(chr(93), "]", $data[4]); // crochet fermant
|
||
$data[4] = str_replace(chr(92), "\\" , $data[4]); // anti slash
|
||
$data[4] = str_replace(chr(128), '€', $data[4]); // devise euros
|
||
$data[4] = str_replace(chr(130), ',', $data[4]); // baseline single quote
|
||
$data[4] = str_replace(chr(132), '"', $data[4]); // baseline double quote
|
||
$data[4] = str_replace(chr(133), '...', $data[4]); // ellipsis
|
||
$data[4] = str_replace(chr(145), "'", $data[4]); // left single quote
|
||
$data[4] = str_replace(chr(146), "'", $data[4]); // right single quote
|
||
$data[4] = str_replace(chr(147), '"', $data[4]); // left double quote
|
||
$data[4] = str_replace(chr(148), '"', $data[4]); // right double quote
|
||
$data[4] = str_replace(chr(150), '–', $data[4]); // tiret du 6
|
||
|
||
|
||
$data[5] = str_replace(chr(93), "]", $data[5]); // crochet fermant
|
||
$data[5] = str_replace(chr(92), "\\" , $data[5]); // anti slash
|
||
$data[5] = str_replace(chr(128), '€', $data[5]); // devise euros
|
||
$data[5] = str_replace(chr(130), ',', $data[5]); // baseline single quote
|
||
$data[5] = str_replace(chr(132), '"', $data[5]); // baseline double quote
|
||
$data[5] = str_replace(chr(133), '...', $data[5]); // ellipsis
|
||
$data[5] = str_replace(chr(145), "'", $data[5]); // left single quote
|
||
$data[5] = str_replace(chr(146), "'", $data[5]); // right single quote
|
||
$data[5] = str_replace(chr(147), '"', $data[5]); // left double quote
|
||
$data[5] = str_replace(chr(148), '"', $data[5]); // right double quote
|
||
$data[5] = str_replace(chr(150), '–', $data[5]); // tiret du 6
|
||
|
||
$data[6] = str_replace(chr(93), "]", $data[6]); // crochet fermant
|
||
$data[6] = str_replace(chr(92), "\\" , $data[6]); // anti slash
|
||
$data[6] = str_replace(chr(128), '€', $data[6]); // devise euros
|
||
$data[6] = str_replace(chr(130), ',', $data[6]); // baseline single quote
|
||
$data[6] = str_replace(chr(132), '"', $data[6]); // baseline double quote
|
||
$data[6] = str_replace(chr(133), '...', $data[6]); // ellipsis
|
||
$data[6] = str_replace(chr(145), "'", $data[6]); // left single quote
|
||
$data[6] = str_replace(chr(146), "'", $data[6]); // right single quote
|
||
$data[6] = str_replace(chr(147), '"', $data[6]); // left double quote
|
||
$data[6] = str_replace(chr(148), '"', $data[6]); // right double quote
|
||
$data[6] = str_replace(chr(150), '–', $data[6]); // tiret du 6
|
||
|
||
$encode = mb_detect_encoding($data[2]); // detection de l'encodage.
|
||
$encode = mb_detect_encoding($data[5]); // detection de l'encodage.
|
||
$encode = mb_detect_encoding($data[4]); // detection de l'encodage.
|
||
$encode = mb_detect_encoding($data[6]); // detection de l'encodage.
|
||
|
||
$data[2] = mb_convert_encoding($data[2], $encode, 'UTF-8');
|
||
$data[4] = mb_convert_encoding($data[4], $encode, 'UTF-8');
|
||
$data[5] = mb_convert_encoding($data[5], $encode, 'UTF-8');
|
||
$data[6] = mb_convert_encoding($data[6], $encode, 'UTF-8');
|
||
|
||
|
||
$sql_insert = array(
|
||
'code' => "$data[0]",
|
||
'ligne' => "$data[1]",
|
||
'remarque' => "$data[2]",
|
||
'operande' => "$data[3]",
|
||
'ope1' => "$data[4]",
|
||
'operation' => "$data[5]",
|
||
'valeur' => "$data[6]",
|
||
'tri' => "$null",
|
||
'deleted' => "$null",
|
||
'idUser' => "$null",
|
||
'dateInsert' => "$null",
|
||
'dateUpdate' => "$null"
|
||
);
|
||
$nbr++;
|
||
try{
|
||
$db->insert($nomtable, $sql_insert);
|
||
}
|
||
catch (Zend_Exception $e)
|
||
{
|
||
echo $e->getMessage()."\n";
|
||
echo "\n"."!!!!! ERREUR ! / CHARGEMENT ARRETE !!!!!"."\n"."\n";
|
||
}
|
||
}
|
||
|
||
echo "\n"." Import de la table $nomtable ok."."\n";
|
||
|
||
// comptage sql
|
||
$comptage = count($sql_insert);
|
||
echo "\n"." Nombre de lignes importees : "."$nbr"."\n";
|
||
fclose($fileopen2);
|
||
exit;
|
||
}
|
||
|
||
|
||
// Exécution de la requête
|
||
//$result = $db->query($sql_ctt);
|
||
// Renseignement sur les erreurs possibles
|
||
|
||
|
||
|
||
|
||
|
||
// echo "<strong>" . $Erreur . "</strong> <br /> <br />\n";
|
||
//
|
||
// if ($sql_ctt_query) // si code retour OK
|
||
// {
|
||
// echo "Création de la table $nomtable ok.<br />";
|
||
// }
|
||
// else
|
||
// {
|
||
// echo "Création de la table $nomtable échouée.<br />";
|
||
// }
|