Bonjour à tous,
j'ai un fichier à lire de type tableur excel.
Pour faciliter les choses, je l'ai converti en csv.
Ce fichier contient une colonne rempli et le but est de compléter la seconde (ce qui revient à écrire à chaque fin de ligne).
Le problème c'est que peu importe que j'utilise \n ou \r\n je n'arrive pas à détecter la fin d'une ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <?php // 1 : on ouvre le fichier $monfichier = fopen('./fichiers/docTest.csv', 'r+'); $k=0; while (false !== ($char = fgetc($monfichier))) { $k=$k+1; if($char=='\r\n'){ echo"<br/>"; }else{ echo "$char"; } } // 2 : on fera ici nos opérations sur le fichier... // 3 : quand on a fini de l'utiliser, on ferme le fichier fclose($monfichier); ?>
Je me dis que que c'est parce que le caractère fin de cellule doit être différent mais je ne trouve pas....
Je veux simplement arriver à détecter la fin d'une ligne pour écrire à la place quelque chose.
Si je lis une ligne entière avec fgets je prends le retour à la ligne du coup je ne peux pas écrire sur la même ligne à la fin.
Un petit coup de main serait apprécié
EDIT: J'ai pu voir en convertissant en ascii qu'il s'agissait du char 13 CR suivi d'un espace suivi du 10 LF...il me semblait pourtant que c'était \r\n qui correspondait à ça...
Bref bizarre, mais du coup quand je mets la condition directement sur l'ascii ça semble marcher...
Partager