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:
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:
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:
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:
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 pareil
et donc le splitCode:chr(124) == $Fichier[8]
s il me dit que le tableau est vide.Code:
1
2 $tab = split( chr(124) , $Fichier); devrais me sortir un tableau, hor
Merci de votre aide!