Lire une database en txt

Contenu du snippet

Bon bah voila c'est pas forcément tres pratique dans certain cas d'utiliser une base SQL, dumoins pour les choses pas tres importantes, ou alors si votre hébergeur ne le propose pas.

De plus il y a certaines personnes qui préfèrent logger dans du txt.. pour pas encombrer la DB en cas de grands flux d'infos !
La c'est juste pour lire. Je mettrai peut etre comment écrire, mais c'est plus facile.
(Suffit d'écrire en mode a(ajout) et de faire une nouvelle ligne ^^).

Source / Exemple :


<?
/* Exemple de db.txt :
DarkM Miaouu Tristan 5
Jojo Dupont Jacques 2
Niak Ceci_est_un_test Pierre 3
Mdr_quoi_! Mon_nom Mon_prénom Mon_level

Cela affichera :
Pseudo : DarkM, Nom : Miaouu, Prénom : Tristan, Niveau : 5 .
Pseudo : Jojo, Nom : Dupont, Prénom : Jacques, Niveau : 2 .
Pseudo : Niak, Nom : Ceci est un test, Prénom : Pierre, Niveau : 3 .
Pseudo : Mdr quoi !, Nom : Mon nom, Prénom : Mon prénom, Niveau : Mon level.

  • /
// Lit le fichier texte $lines = file ('db.txt'); // Affiche toutes les lignes foreach ($lines as $line_num => $line) { $info = explode(" ",$line); foreach ($info as $info_num => $value) { $info[$info_num] = str_replace("_"," ",$value); } echo 'Pseudo : '.$info[0].', Nom : '.$info[1].', Prénom : '.$info[2].', Niveau : '.$info[3].'.<br>'; } ?>

Conclusion :


Explication :

On ouvre le fichier texte.

On affiche ligne par ligne :
On détache les élements, et on les mets dans un tableau !

Puis on remplace les "_" par des " ". (Bah vi sinon comment tu veut mettre des espaces, vu qu'il sert de séparateur ?! :) mais bon suffit de changer les espaces en _ quand on rentre une info dans le fichier texte.)

>> Note : On peut améliorer ce script avec les expressions régulières. On pourrait imaginer une mise en forme différente, du style "Nom","Pseudo"..

Et apres bah on affiche ;).

On peut donc gerer une base de donneés comme ça, biensure pour certaines choses c'est plus pratique avec du SQL je l'admet.. Mais pour logger des ips je trouve ça largement mieux ! Surtout pour exporter.

>> note : $line_num est le numero de la ligne, ca peut toujours être utile..

Et puis il n'est pas tres difficile de faire un script pour convertir en SQL ;).

Attention tout de fois quand vous rentrez des infos dans le fichier texte, aux balises ("<",">" etc..), Vous pouvez utiliser des fonctions comme htmlentities ou htmlspecialchars pour prevenir des effets néfaste !

J'espere que ca aura été utile a quelques personnes ;)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.