je pense bien qu'on peut stocker les données dans un simple fichier texte comme base de données mais je ne sais par où commencer.
si c'est possible, veillez m'aider s'il vou plait.
je pense bien qu'on peut stocker les données dans un simple fichier texte comme base de données mais je ne sais par où commencer.
si c'est possible, veillez m'aider s'il vou plait.
✪ ➭ Pensez à visiter: http://johnclub242.blogspot.com ✪
Il est effectivement possible de stocker des informations dans un fichier texte, toutefois pour ma part quand j'ai ce genre de besoin ponctuel j'utilise plutôt un fichier xml couplé à DOM.
Gestion du XML en PHP 5 : utiliser DOM
Et mysqlite ? pas possible ? Parce que si tu dois faire des recherches sur tes données une structure de type sgbdd est fortement recommandée.
Sinon à part XML si tu peux aussi sérialiser un tableau directement dans un fichier texte, genre :
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 $tab = array(); $tab['toto'] = 'la tête à toto'; $tab['titi'] = 'la tête à titi'; $tab['tata'] = 'la tête à tata'; //nom du fichier $monfichier = 'monfichier.txt'; //écriture du tableau sérialisé dans le fichier file_put_contents($monfichier, serialize($tab)); //lecture du fichier $lecture_fichier = file_get_contents($monfichier); // récupère la structure du tableau $tab_recup = unserialize($lecture_fichier); echo isset($tab_recup['titi']) ? $tab_recup['titi'] : ''; // affiche 'la tête à titi'
néanmoins
j'ai créé pour des besoins particulier un fichier texte ligne par ligne ou je stocke des informations balisées fait maison (par exemple _intro_ quelques mots_intro_ (c'est juste un exemple).
que je récupérais par regex dans php avec fopen etc...
Puis je me suis dit : soyons sérieux et transformons ce fichier texte en xml
ce que j'ai fait.
A ma grande surprise la récupération des infos dans le fichier txt par regex est extrèmement plus rapide que dans le fichier xml si on utilise le dom.
Au risque de répéter ce qu'a dit ABCIWEB, le plus rationnel pour avoir une base de données, c'est d'utiliser une base de données !
Si tu tiens absolument à avoir un fichier de type txt, utilise SQLite...
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
johnrock n'a pas dit qu'il souhaitaIs une SGBD, il a dit BD.
j'ai l'impression que la plupart des développeurs ont pour seule obsession de ne pas réinventer la roue.
Pourtant pour stocker, exploiter quelques données simples, une fichier.txt , quelques balises, quelques regex, et un langage de programmation basique ou une connaissance basique d'un langage de programmation suffisent pour exploiter des données sans se compliquer la vie et sans utiliser des tonnes de mémoire et de puissance de processeur.
On peut dire aussi exactement le contraire : c'est avec ton système que tu te complique la vie et les regex ne sont pas réputés pour être particulièrement économes en mémoire.
Pour des petits besoins l'exemple que j'ai donné avec le tableau sérialisé est très efficace et simplissime à utiliser. On peut même éventuellement utiliser un tableau multidimensionnel et les fonctions pour travailler sur les tableaux sont légion en php. Mais quand cela se complique un peu sqlilte est la voie naturelle, bien plus simple et efficace pour faire des recherches et des regroupements qu'un regex.
On pourrait éventuellement considérer ton système comme une solution intermédiaire, mais son manque d'évolutivité par rapport à sqlilte en fait un système difficile à recommander. En bref il a beaucoup d'inconvénients et peu d'avantages.
Je serais presque prêt à parier que tu trouve cela simple parce que tu as l'habitude de l'utiliser et que tu ne t'es pas intéressé suffisamment aux autres roues pour pouvoir bien les comparer avec la tienne
ta méthode est excellente sauf que je peux difficilement écrire dans un array
$tab['toto'] = 'la tête à toto';
$tab['titi'] = 'la tête à titi';
$tab['tata'] = 'la tête à tata';
si je fais, c'est ressemblant
_p__nom_toto_nom_la tête à toto_p_
_p__nom_titi_nom_la tête à titi_p_
_p__nom_tata_nom_la tête à tata_p_
cependant je peux aisément complexifier
_p__nom_toto_nom_la tête à toto est _adj_grosse_adj__p_
_p__nom_titi_nom_la tête à titi est _adj_petite_adj__p_
_p__nom_tata_nom_la tête à tata est _adj_patate_adj__p_
ce qui donne quoi en array()?
Je comprend rien à ton pb. Tu veux stocker quelles données initialement et faire ou écrire quoi exactement ?
je n'ai aucun problème, c'est vous qui en avez un avec votre array
il s'agit en informatique de traiter et stocké des informations.
vous proposez un array pour ce faire
je vous demande comment vous le faite
vous proposez mysql
je vous demande comment vous le faite
moi je peux le faire simplement à la main en éditant le fichier
vous pouvez ?
je peux aussi écrire des fonctions comme
get(nom=toto)
put(nom=tutu, phrase='la tête à tutu est _adj_vide_adj_')
delete(nom=tata)
update(nom=toto, adj=rigolote)
ou encore
getListe(adj=vide && nom=tutu)
bref, j'ai construit une bdd relationnelle dans un fichier txt.
pour ensuite ecrire des fonctions comme
trans(non=toto, json)
trans(non=toto, arrays)
trans(non=toto, xml)
trans(non=toto, text)
trans(non=toto, nimporte quoi)
ou encore inscrit(nom=tata, SGBD) ou inscrit (adj=petite, autreSGBD)
...
Oui je me doute bien que tu n'as pas de problème, je voulais dire que je ne comprend rien au problème ou à la question que tu me pose, pas plus que ce que je ne pourrais pas faire en utilisant un tableau. On peut bien organiser un tableau multi dimensionnel comme une bdd et créer des fonctions qui permettront de faire des recherches, modifications, ajouts, suppressions etc. dans le tableau de données. Je vois donc toujours pas où est le problème c'est pour cela que je te demandais des détails parce je me dit qu'on ne doit pas avoir les mêmes besoins si tu pose ces questions.
Par exemple pour la petite histoire, il y a environ cinq ans j'ai fait ce site qui en fait est un CMS que j'ai réalisé uniquement à partir de fichiers textes et de tableaux sérialisés. Le client administrateur peut insérer tout type d'objet dans ses pages, liens, texte, photos, photos agrandissables, vidéos, musique, que l'on mettre dans le fil du texte ou en tant qu'objet flottant, etc. En fait pour son site (si tu le regarde) le client n'a utilisé réellement que 10% des possibilités et refuse même après lui avoir conseillé, de mettre quelques images pour créer un peu de dynamique, mais bon les clients sont roi. Le CMS fonctionne avec un système de bbcode exactement comme dans ce forum et pour faciliter les possibilités de mise en page, les pages sont organisées par paragraphes que l'on peut ajouter, déplacer ou supprimer indépendamment.
Tout ça pour te dire qu'on peu déjà s'amuser pas mal uniquement avec des tableaux sérialisés dans un fichier texte. A l'époque c'était la période où j'étudiais les fonctions sur les tableaux et j'ai fait ça à titre d'exercice pour voir comment on pouvait se passer de bdd et avoir néanmoins des possibilités d'administration.
Alors effectivement cela fonctionne correctement et c'est très rapide mais cela demande pas mal de boulot et si l'on pousse le bouchon un peu plus loin niveau fonctionnalités, on se rend compte qu'on est entrain de réinventer un système de gestion de base de données sauf qu'on est très loin d'avoir développé toutes les fonctions déjà disponibles, sans compter les systèmes d'optimisation ou la gestion des accès simultanés ou... etc. etc.
Donc pour les sites suivants et bien qu'étant fier d'avoir réussi mon affaire sans sgbdd... étant donné qu'on a maintenant pratiquement toujours (même chez les FAI), à la fois mysql et mysqlite... la voix de la sagesse à repris le dessus et c'est vraiment sans regrets que je me suis dit (pas sans l'avoir déjà entendu) qu'il serait plus judicieux d'investir du temps dans les commandes sql plutôt que dans mes fonctions sur les tableaux qui ne faisaient finalement que reproduire un début d'embryon du même système. En même temps j'ai transformé mon système de bbcode en wysiwyg ce qui fait que tout est maintenant beaucoup plus agréable à utiliser.
Voilà je t'ai raconté un peu mon parcours de développeur pour dire qu'on est nombreux à déjà avoir essayé et testé les limites des fichiers textes avec un système de gestion perso (quelque soit la technique employée) mais que je n'en connais aucun qui au fil du temps continue à les recommander autrement qu'éventuellement pour des choses très simples. D'où j'en reviens à mon questionnement du début, à savoir qu'on ne doit pas avoir les mêmes besoins
Merci pour cette longue réponse.
Je suis entièrement d'accord avec tout ce que tu dis. D'ailleurs tu est develloppeur et je ne le suis pas.
En ce moment même on pourrait penser que je te parle ... En fait non, je te parle pas, je communique avec une base de donnée à l'aide d'une application foireuse qui me chipote par ce que je ne sais pas écrire le mot devellopeur et qui ne me propose aucune correction pour le faire, et qui de temps en temps fait des pauses et me fait tourner la roue multicolore de mon vieux powerBook.
C'est ça mon problème.
j'ai eu en jour besoin de prendre des notes, beaucoup de notes qui soient facilement lisible par moi, mais aussi exploitable par une machine.
Ma première démarche fut donc de crée une base mysql , quelques fonctions php pour gérer tout ça, et une interface avec des textarea, des listes etc.
ça m'a beaucoup déçu , du point de vue de la rapidité mais aussi de possibilités du système.
Je me suis alors tourner vers Xml mais pareil, l'interface est indispensable.
Les machines savent très bien communiquer entre elles, elle le font à une vitesse incroyable mais l'humain ?
la plus part des formulaires sont très pénibles à remplir, c'est nom, prénom adresse ... et ne vous proposent jamais le café.
Voilà,c'est pour ça que j'ai créé ma petite application, et depuis je suis très heureux avec, mon interface est maintenant vim qui m'offre bien plus de possibilités que ce misérable textarea dans lequel je suis entrain de pousser péniblement mes mots.
Bien sur j'ai réinventé une roue, mais c'est ma roue, je la connais parfaitement et d'ailleurs elle m'étonne de plus en plus par les possibilités qu'elle m'offre.
Pour ce faire j'ai appris les expressions régulières, les fonctions de call_back ..etc et je ne regrette pas l'investissement. C'est tout aussi bien que d'apprendre à se servir des grosses roues toutes faites.
Et c'est pourquoi je ne découragerais personne qui voudrait créer sa propre DB dans un fichier txt.
J'ai beaucoup apprécié ton site, il est Zen, simple, et rapide .. surtout la page du formulaire de contact
Bon, j'utiliserai SQLite.
Hayiiiiiiiiiiiiii !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager