Lire une database en txt

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 286 fois - Téléchargée 29 fois

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

Ajouter un commentaire

Commentaires

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
class Vecteur{...}
Vecteur a, b, c;
float d;
a.set(x, y, z);
b.set(x, y, z);
c=a*2;
c=b+a;
c=b^a;
d=b*a;
bref... pour les barycentres c'est pas top, mais pour le reste, c'est géant...
Messages postés
3
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
26 octobre 2006

Normal, pas de surcharge d'opérateurs possible en java, de même pour l'héritage multiple au sens propre du terme.

Si tu fais les choses correctement, tu comprends ce que tu écris en Java. Certes on a vite fait des choses très crades en java mais ca reste vrai pour le C++ et encore pire pour le php.

Ruby & Ruby on Rails ftw =)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
"choses bien difficiles"
commence la programmation par du java, et tu écriras des choses dont tu ignores le sens (dans mon école d'ingé, les deuxièmes années ne savent pas pourquoi ils tapent : class... public void main...) bref, alors qu'en C ou C++, tu sais ce que tu fais, dès le départ, tu peux programmer non orienté objet, et l'apprentissage est plus simple...
La surcharge d'opérateurs est interessante en Cpp aussi, j'ai jamais fait ça en java, mais c'est pas possible en php...

Le php, pour débuter c'est pas bon, le C, c'est mieux... le C++ comme troisième langage pourquoi pas : un langage de script pour s'ammuser, du C pour s'améliorer et exploiter à fond sa bète... et du C++ pour continuer de s'améliorer coté théorie objet...
Messages postés
3
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
26 octobre 2006

Pour faire de la bdd fichier, il est plus sage de passer par du xml.
Ton truc c'est bien, mais aucune gestion de clef étrangères, de dépendances, de contrôles d'intégrité etc...

Sinon pour la discussion sur ce qu'est une classe:

-Pour comprendre ce qu'est une classe, faut déja pas aller sur des sites de php mais sur des sites qui expliquent la programmation orientée objet de manière générale.

Ensuite, php pour apprendre à programmer est un très mauvais langage. Il mélange tout et n'importe quoi, il n'a aucune rigueur (ex, on peut lire une variable non initialisée). Je te conseille plutot java si tu veux être bien encadré par le langage ou C++ si t'es motivé a te casser le cul sur des choses bien difficiles (mais tellement formatrices).
Messages postés
40
Date d'inscription
mardi 9 août 2005
Statut
Membre
Dernière intervention
7 avril 2008

Bonjour
mon fichier txt est fait comme ceci
Speudo points

j'aimerais savoir s'il y'a possibilite de classer les membres par points ,du 1er au dernier.
Afficher les 13 commentaires

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.