Bonjour à tous,
Je souhaiterais faire un lecteur de fichier texte et d'en ressortir un tableau.
J'ai donc un fichier texte qui ne comprend qu'une unique ligne, avec un caractère spécial pour séparer les différentes cases du tableau : "|".
Je souhaite donc avoir un tableau de 5 cases :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 15953046|90847387|143892432||2010-09-06 10:41:59|
[[15953046][90847387][143892432][][2010-09-06 10:41:59]]
Voici donc mon code :
Code php : 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
19
20
21
22
23
24
25
26
27
28
29
30
31 // j'ouvre mon fichier texte et je vérifie son ouverture if (!$fp = fopen("fichier.txt","r")) { echo "Echec de l'ouverture du fichier"; exit; } //si l'ouverture c'est bien passer else { while(!feof($fp)) { // On récupère une ligne $Ligne = fgets($fp); // On stocke l'ensemble des lignes dans une variable $Fichier .= $Ligne; } //On afficher l'ensemble du fichier echo "<p>".$Fichier."</p>"; //Je souhaite faire un split sur le charactère "|" qui possède pour code ascii 124 $a = chr(124); $tab = split( $a , $Fichier); $size = count($tab); for ($i = 0; $i <= $size; $i++){ //Je souhaite afficher chaque case du tableau echo $tab[$i]."<br/>"; } fclose($fp); // On ferme le fichier }
Or mon split ne fonctionne pas.
J'ai donc fait des tests
et voici ce qui apparait :
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
19
20
21
22
23
24
25 echo "fichier : ". $Fichier[8]."<br/>"; echo "le ascii : ". chr(124)."<br/>"; echo "le ISO : ". "|"."<br/>"; if ( chr(124) == $Fichier[8]) { echo "ascii/fichier : c'est pareil <br/>"; } else { echo "ascii/fichier : c'est pas pareil <br/>"; } if ( chr(124) == "|") { echo "ascii/ISO : c'est pareil <br/>"; } else { echo "ascii/ISO : c'est pas pareil <br/>"; } if ( $Fichier[8] == "|") { echo "fichier/ISO : c'est pareil <br/>"; } else { echo "fichier/ISO : c'est pas pareil <br/>"; }
donc techniquement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 fichier : | le ascii : | le ISO : | ascii/fichier : c'est pareil ascii/ISO : c'est pas pareil fichier/ISO : c'est pas pareilet donc le split
Code : Sélectionner tout - Visualiser dans une fenêtre à part chr(124) == $Fichier[8]
s il me dit que le tableau est vide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $tab = split( chr(124) , $Fichier); devrais me sortir un tableau, hor
Merci de votre aide!
Partager