// Altercarto.com
//Joseph Paris :: joseph_paris@gmail.com
//FONCTIONS :
$codelistenom="";
$z=0;
///////////////////////////fin de fonction extract_data
//DEBUT :
//upload et traitement du fichier
// $repertoireDestination = "NAT/";
$nom_fichier = "CODE_NOMS.txt";
$varnom="fichier";
if($nom_fichier!="")
{
$date_time=date("d-m-Y-H-m-s");
$nomDestination =$nom_fichier;
}//fin de if $nom_fichier!=""
/////////////////LECTURE DES DONNEES DU FICHIER :
$fichier="";
$incr=0; //cette variable sert pour l'incrementation des lignes dans le fichier
$separateur=chr('9');
$file_to_open=$nomDestination;
$len=strlen($nomDestination)-4;
$js_file=substr($nomDestination,0,$len).".js";
$file_to_write="REG/".$js_file;
$fichier = fopen ($file_to_open, "r"); //fichier ouvert en lecture seule
$fichier2 = fopen ($file_to_write, "w"); //fichier ouvert en écriture
$fichier3 = fopen ("REG.num", "r"); //fichier ouvert en lecture seule
$fichier4 = fopen ("REG/DATA-SVG2.js", "w"); //fichier ouvert en écriture
$fichier5 = fopen ("LIGNEREG.num", "r"); //fichier ouvert en lecture seule
$fichier6 = fopen ("REG/DATA-ligneSVG.js", "w"); //fichier ouvert en écriture
// cREATION FICHIER LIGNE REGION -------------------------------------------------------------------------------------
$LIGSVG="";
$incr0lig=1;
while (!feof($fichier5)) {
$buffer = fgets($fichier5, 4096);//lire une ligne
if(substr($buffer,strlen($buffer)-1,1)!="\n")
{
$buffer=$buffer."\n";
}
$long=strlen($buffer)+1;
$Xcode[$incr0lig]=substr($buffer,0,4);
$b=$long-8;
$reste=substr($buffer,5,$b);
$long=strlen($reste)+1;
$XNMcoord[$incr0lig]="" ;
for($i=$long-3;$i>=0;$i--)
{
$X[$i]=substr($reste,$i,1);
}
for($i=$long-3;$i>=0;$i--)
{
if($X[$i]=="‚")
{
$X[$i]=".";
}
}
$indic0lig=0;
for($i=$long-3;$i>=0;$i--)
{
if($X[$i]=="\t")
{
$X[$i]=",";
}
$indic0lig=$indic0lig+1;
}
$indic0lig=$indic0lig-1;
for($i=0;$i<$indic0lig;$i++)
{
$XNMcoord[$incr0lig]=$XNMcoord[$incr0lig].$X[$i];
}
//echo "---| XNcoord ".$Xcode[$incr0lig]." = ";
if(strlen($Xcode[$incr0lig])>2)
{
$LIGSVG[$incr0lig]='ajouter2("'.$Xcode[$incr0lig]."-".$XNMcoord[$incr0lig].'")'."\n";
fwrite($fichier6,$LIGSVG[$incr0lig]);
$incr0lig=$incr0lig+1;
//echo "---| valeur de \$a ".$LIGSVG[$incr0lig-1]." = ";
}
}
//-------------------------------------------------------------------------------------------------------------------------------------
//------------------------------création DATA-SVG2.js-------------------------------------------------------------------------------
$DATSVG="";
$incr0=1;
while (!feof($fichier3)) {
$buffer = fgets($fichier3, 4096);//lire une ligne
if(substr($buffer,strlen($buffer)-1,1)!="\n")
{
$buffer=$buffer."\n";
}
$long=strlen($buffer)+1;
$Xcode[$incr0]=substr($buffer,0,4);
$b=$long-8;
$reste=substr($buffer,5,$b);
$long=strlen($reste)+1;
$XNMcoord[$incr0]="" ;
for($i=$long-3;$i>=0;$i--)
{
$X[$i]=substr($reste,$i,1);
}
for($i=$long-3;$i>=0;$i--)
{
if($X[$i]=="‚")
{
$X[$i]=".";
}
}
$indic0=0;
for($i=$long-3;$i>=0;$i--)
{
if($X[$i]=="\t")
{
$X[$i]=",";
}
$indic0=$indic0+1;
}
$indic0=$indic0-1;
for($i=0;$i<$indic0;$i++)
{
$XNMcoord[$incr0]=$XNMcoord[$incr0].$X[$i];
}
//echo "---| XNcoord ".$Xcode[$incr0]." = ";
if(strlen($Xcode[$incr0])>2)
{
$DATSVG[$incr0]='ajouter("'.$Xcode[$incr0]."-".$XNMcoord[$incr0].'")'."\n";
fwrite($fichier4,$DATSVG[$incr0]);
$incr0=$incr0+1;
//echo "---| valeur de \$a ".$DATSVG[$incr0-1]." = ";
}
}
$der='ajouter("99999'."-".$XNMcoord[$incr0-1].'")'."\n";
fwrite($fichier4,$der);
//--------------------------------------------------------fin de céation de DATASVG2.js
// Tant qu'on est pas à la fin
$var_inser[$incr]="";
while (!feof($fichier)) {
// lire 4096 octets
$buffer = fgets($fichier, 4096);//lire une ligne
// on stocke dans le tableau la chaine lue
$fichier_data[$incr]=$buffer;
$ligne=$buffer;
$data="";
// cette fonction permet d'extraire les données dans un ligne, séparées par $separateur
// la fonction renvoie le array $data[ ]
//correction de fin de ligne pour fichier macintosh
if(substr($ligne,strlen($ligne)-1,1)!="\n")
{
$ligne=$ligne."\n";
}
$len_1=strlen($ligne)+1;
for($i=0;$i<$len_1;$i++) //$i symbolise la position du curseur dans la chaine
{
$caractere=substr($ligne,$i,1);
if($caractere==$separateur)
{
$a=$len_1-$i-4;
//echo "---| valeur de \$a ".$a." = ";
$codelistenom[$z]=substr($ligne,0,4);
//echo "---| valeur de \$codelistenom ".$codelistenom[$z]." =data ";
$data=substr($ligne,$i+1,$a);
$i=$len_1;
}
}
$z=$z+1;
$xnom=$data;
//$xnom=extract_data($fichier_data[$incr],$separateur,$z);
$var_inser[$incr]=$xnom;
$incr=$incr+1;
}
$incr=$incr-1;
fwrite($fichier2,'ZENOM= new Array("');
//echo "---| \$incr ".$incr0." = ";
$indica=0;
$xcodetemp="";
for($g=1;$g<$incr0;$g++)// boucle sur le tableau $Xcode des codes de la carte num dans le fichier national num $Xcode[$incr0]
{
for($h=0;$h<$incr-1;$h++)// boucle sur le tableau $codelistenom de la liste de nom sans caractère problématiques $codelistenom[$z]
{
if($Xcode[$g]==$xcodetemp)
{}
else
{
//echo "---| \$codelistenom[\$h] ".$codelistenom[$h]." = ";
if($Xcode[$g]==$codelistenom[$h])
{
$indica=$indica+1;
$xcodetemp=$Xcode[$g];
if($indica>1){$var_inser[$h]='","'.$var_inser[$h];}
fwrite($fichier2,$var_inser[$h]);
}
}
}
}
//for($g=0;$g<$incr;$g++)
//{
//if($g<$incr-1){$var_inser[$g]=$var_inser[$g].",";}
//fwrite($fichier2,$var_inser[$g]);
//}
fwrite($fichier2,'","rien")');
fclose ($fichier);
fclose ($fichier2);
fclose ($fichier3);
fclose ($fichier4);
fclose ($fichier5);
fclose ($fichier6);
echo "---| Le fichier "."DATA-ligneSVG.js"." a ete genere";
echo "
---| TELECHARGER";
echo "
---| Le fichier "."DATA-SVG2.js"." a ete genere";
echo "
---| TELECHARGER";
echo "
---| Le fichier ".$js_file." a ete genere";
echo "
---| TELECHARGER";
//}//fin de if($etape!="")else..
?>