bedomon La vérité est ailleurs | Je m'en doute mais j'ai bien galerer a faire mon script pour que la conversion soit nikel et la je ne vois pas du tout comment le changer pour faire ce que tu dis si tu as une idée voivi mon code:
Code :
- <?php
- set_time_limit(0);
- function slk2csv($file) {
- // Chargement du fichier dans un tableau
- if(!$tableau = file($file)) return;
- $xmax = 0;
- // Pour chaque ligne
- foreach($tableau as $ligne) {
- // Ne commence pas par "C" ==> zappe
- if(substr($ligne,0,1)!="C" ) continue;
- // Si la case contient un ; (doublé en slk)
- $ligne2 = str_replace(";;","ø",$ligne);
- // Découpe la ligne à chaque ;
- $tmp = explode(";",$ligne2);
- // on lit à partir de la 2e colonne
- $i = 1;
- // lecture du Y éventuel
- if(substr($tmp[$i],0,1)=="Y" ) {
- $y = str_replace("Y","",$tmp[$i]);
- $i++;
- }
- // lecture du X
- $x = str_replace("X","",$tmp[$i]);
- // mémorisation du max
- $xmax = max($x,$xmax);
- // lecture de la valeur
- $v = ereg_replace("[K\"]","",$tmp[$i+1]);
- $tab[$y][$x]="\"".trim(str_replace("ø",";",$v))."\"";
- }
- // ENCODAGE EN CSV
- // colonnes séparées par ;
- for($i=1;$i<=$y;$i++) {
- // remplissage des cases vides
- for($j=1;$j<=$xmax;$j++)
- if(!isset($tab[$i][$j]))
- $tab[$i][$j] = "";
- ksort($tab[$i]);
- $tab2[] = @implode(";",$tab[$i]);
- }
- // lignes séparées par \n
- return implode("\n",$tab2);
- }
- $fichier = "Etic";
- // conversion du fichier slk en csv
- $temp = slk2csv($fichier.".slk" );
- // création du fichier .csv
- $f = fopen($fichier.".csv","w" );
- fputs($f,$temp);
- fclose($f);
- ?>
|
|