Salutations,
J'ai beau bidouillé depuis des années en PHP, en fait, je ne suis pas doué.
Ce qui pêche en fait, c'est surtout les formules complexes. (ou non !).
Pour alléger le code global d'un site que je gère, je cherche à mettre en tableau, colonne par colonne et ligne par ligne les données d'un fichier .TXT.
Gérer le fichier et mettre soit les lignes, soit les colonnes en variables, j'y arrive plus ou moins, mais en fait, les 2 : Pas du tout.
Du coups, je me rends compte que mon compte doit être entièrement repensé, et pourtant, je galère depuis quelques heures dessus.
Chaque ligne du TXT comprend trois "|" qui sépare les infos importantes par colonnes.
Il y a actuellement "1 lignes à ce fichier TXT.
Je cherche à pouvoir sortir facilement, par variables, une infos précise et afficher l'ensemble proprement dans différentes tables HTML (selon la variable de la première colonne).
En gros, cette liste recense certains liens WWW, que je classe en fonction de la première colonne, et qui doivent s'afficher dans des tableaux CSS/HTML indépendants.
Voila à quoi ressemble mon code pourri actuel :
Qu'en pensez-vous ?
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 <?php // Ouverture du fichier TXT en lecture seule. $fichier = utf8_encode("liens.txt"); $open = fopen($fichier, 'r'); // Si le fichier est introuvable... if(!$open) { echo "L'ouverture du fichier $fichier n'a pas réussi.\n"; exit; } $fileLines = file($fichier); $i =1; // Boucle while (!feof ($open)) { $line=fgets($open); //process line however you like $line=trim($line); //add to array $lines[]=$line; $array = explode("|", $line); if(count($array)!=3) { echo "Ligne $i invalide.\n"; continue; } // Debugg $result = array_unique($array); print_r($result); echo "<br />"; $i=$i+1; } // Fermeture du fichier TXT fclose($open); // Debug echo "<br /><br />"; echo $lines[4] . "<br />"; echo $array[3] . "<br />"; echo count($fileLines); ?>
Partager