fichier au lieu d'une base données

zeckis
Invité n'ayant pas de compte PHPfrance

08 févr. 2008, 16:31

Bonjour,
j'aimerai intégrer dans mon site en PHP une partie où les visiteur pourront faire des commentaires. Maintenant pour stocker les données les opinions des visiteurs j'aimerai utiliser un fichier au lieu d'insérer dans une base de données. dans ce sens j'aimerai quelques tuyaux.

Merci d'avance pour tout aide.

ViPHP
ViPHP | 5924 Messages

08 févr. 2008, 16:35

Veuille excuser ma curiosité, mais pourquoi vouloir te passer de base de données ?

zeckis
Invité n'ayant pas de compte PHPfrance

08 févr. 2008, 16:41

C'st juste pour recueillir les avis des visiteurs

ViPHP
ViPHP | 5924 Messages

08 févr. 2008, 17:04

Ouais, mais même pour un usage restreint, la base de données reste assez intéressante…

zeckis
Invité n'ayant pas de compte PHPfrance

08 févr. 2008, 17:11

merci du conseil, je pense que j'userai des bd en dernier recours. Merci qu'en méme

ViPHP
ViPHP | 5924 Messages

08 févr. 2008, 17:33

Sinon, pour quand même répondre à ta question, le mieux, je pense, serait d'écrire un enregistrement par ligne de ton fichier, avec la fonction fwrite(), et de lire avec fgets(). Prenons que tu veuilles stocker les données suivantes : date, note, titre, commentaire

Tu peux par exemple choisir un motif pour séparer les champs d'un enregistrement, prenons par exemple le caractère \0 (caractère nul, que tu as peu de chances de trouver dans un commentaire), et ainsi écrire les données dans le fichier de cette manière :

Code : Tout sélectionner

27-12-08\06\0Pas mal\0Ce site est pas mal\n 12-03-08\09\0Enorme\0J'adore le design, c'est trop puissant\n 12-01-08\00\0Sofware at low price\0The best software at low price, 50$ for Vista Integral\n
:mrgreen:

Une autre manière toujours avec un enregistrement par ligne, serait de créer un objet ou un tableau commentaire et de le serialiser dans le fichier avec serialize(), l'inconvénient étant toutefois, qu'il faut désérializer l'objet ou le tableau pour qu'il soit lisible humainement.

Par contre, je pense que dans les deux cas, il faudra trouver un moyen pour encoder les \n des commentaires en autre chose (après cela dépend de ce que tu comptes faire des commentaires…)

ViPHP
ViPHP | 2144 Messages

08 févr. 2008, 19:10

merci du conseil, je pense que j'userai des bd en dernier recours. Merci qu'en méme
Désolé d'insister, mais quelles sont les raisons qui font que tu ne veux utiliser une base de donnée qu'en dernier recours. Quel est le problème ?

ViPHP
ViPHP | 4039 Messages

08 févr. 2008, 20:58

Et si tu veux t'éviter les lourdeurs de mysql (par exemple), considère Sqlite, qui est parfait pour ce genre d'affectation. (et qui n'est finalement qu'un fichier dans ton répertoire, top !)
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphanteau du PHP | 20 Messages

09 févr. 2008, 02:02

et occasionnelement veiller a ce que le fait de taper:
http://ton_site.com/un/repertoire/ton_beau_fichier.txt
n'affiche pas tout le contenu...

honnetement j'ai éssayé, mais vaut mieux passer un peu de temps a configurer mysql comme tu veut.
tu peut faire en sorte que mysql stock tout dans tel ou tel repertoire, tu peut lancer plusieurs mysql pour pas tout mélanger...bref...on croirait que c'est fait pour :)

tôt ou tard tu t'en mordra les doigts...droits d'accès en ecriture, ajout de champs, ajout de fonctionnalités....