Accueil > Forum > > > > Variable a l'intérieur d'un fichier texte... est-ce possible?
Variable a l'intérieur d'un fichier texte... est-ce possible?
jeudi 27 août 2009 à 19:17:07 |
Variable a l'intérieur d'un fichier texte... est-ce possible?

jzeel
|
Bonjour à tous!
Je sais à la base comment lire et écrire dans un fichier texte, mais j'ai une liste de membre dans ma BD et chaque membre ont un code membre et une note de 1 à 1000. j'aimerais pouvoir incrémenté une note en fonction du code de membre.
Est-ce possible d'avoir dans mon txt des lignes comme ceci :
$code=1001
$note=5
$code=1002
$note=10
$code=1003
$note=15
$code=1004
$note=5
etc..
et ensuite par un code php aller directement dans le code membre 1003 pour augmenter la note à 16.
Est-ce possible? merci de votr aide
Jzeel
|
|
jeudi 27 août 2009 à 23:27:50 |
Re : Variable a l'intérieur d'un fichier texte... est-ce possible?

kohntark
|
Salut,
.. tout (ou presque) est possible.
Mais il faut en tout premier lieu se poser la question : "est ce une bonne idée ?"
Je pense comprendre ce que tu souhaites faire au niveau du fichier texte, par contre je ne comprends pas pourquoi tu n'utilises pas ta DB pour ça ?? C'est une DB texte ??
Tu devrais sans doute utiliser du XML pour ce fichier, mais même en simple texte avec le format que tu proposes ça ne pose pas de pb, ... reste à savoir combien pèse ce fichier (??)
Cordialement,
Kohntark -
|
|
vendredi 28 août 2009 à 06:09:00 |
Re : Variable a l'intérieur d'un fichier texte... est-ce possible?

jzeel
|
J'y ai pensé, mais le problème c'est que sur la page php j'affiche un une animation flash(swf) qui va lire un txt qui contient 2 variable: la note du membre et le nombre de personne qui ont participé...
et c'est la mon problème, j'ai pensé a stocké la note et le nombre de personne participant dans la BD, mais Flash a ce que je sache(a moins que je me trompe ne peut pas venir lire dans la BD). Ainsi, je voulais savoir est ce qu'il y avait un moyen que par du code php venir prendre les données de la bd(ce qui est facile) et le mettre dans txt qui contient 2 variable: note et nb_participant (ce qui est difficile)?
A moins d'avoir un autre moyen, je suis ouvert....
Jzeel
|
|
vendredi 28 août 2009 à 09:41:08 |
Re : Variable a l'intérieur d'un fichier texte... est-ce possible?

nautilus99
|
Bonjour,
Pour l'import de ton texte en tableau ou base de données, le plus simple est le format CSV qui est le plus facile à importar sans avoir besoin de se créer un analyseur complet. XML correspondrait aussi.
Bien qu eflash ne puisse lire directement le sbases de données, il permet du JavaScript et du passage de paramètres. Avec un stockage en base de données et une simple requête JSON ou JQuery, tu peux via PHP interroger la base de données et renvoyer le résultat correspondant.
ça évite les usines à gaz.
|
|
lundi 31 août 2009 à 11:32:31 |
Re : Variable a l'intérieur d'un fichier texte... est-ce possible?

jemil75
|
Hello,
Les expressions régulières sont tes amies, avec un petit coup de preg_replace_callback tu devrais t'en sortir facilement. Un truc du style (à la truelle):
$text = preg_replace_callback(
"#(\$code=1003(\n|\r\n)?\$note=)[0-9]{1,2}#',
create_function(
'$matches',
'return ($matches[1]."16");'),$text);
$text étant le contenu de ton fichier... Après, si tu veux automatiser la fonction, tu devras remplacer la note (ici 16) par une variable. create_fonction() ne te permettra pas d'entrer une variable extérieure. Le truc, c'est d'écrire la commande qui va bien dans une chaine et de l'évaluer ensuite avec eval(). J'ai testé dans un cas similaire, ça marche impeccable! Bon courage!
|
|
lundi 31 août 2009 à 17:55:07 |
Re : Variable a l'intérieur d'un fichier texte... est-ce possible?

jzeel
|
Pour être franc avec vous je suis un peu melanger dans le cas de nautilus99 j'ai jamais utilisé du CSV ou des requête JSON ou JQuery je vois QUOI faire mais pas COMMENT le faire... surtout avec aucun exemple cela aide pas.
Dans le cas de jemil75, je comprend qu'a moitié, mettons que chaque document porte le nom de code du membre (1003.txt) et à l'intérieur j'ai juste une variable $note= *** J'imagine qu'il faudra que j'ouvre mon fichier txt pour écrire dedans du genre ...
( Code PHP :
$code = 1003;
$fp = fopen("$code.txt", "r")
while (!feof($fp)) {
$text = fgets($fp);
$text = preg_replace_callback "#(\$note=)[0-9]{1,2}#', create_function(
'$matches', 'return ($matches[0]."16");'),$text);
} fclose($fp); ?>
Est-ce que $matches[0] fait reference la la variable $note du document texte... sinon, je ne comprend pas cette ligne: 'return ($matches[1]."16"); et je ne vois vois pas en quel sens la fonction eval pourrait m'être utile.
Merci!
Jzeel
|
|
lundi 31 août 2009 à 19:34:28 |
Re : Variable a l'intérieur d'un fichier texte... est-ce possible?

jemil75
|
En fait, mon exemple ne vaut que si tu as toutes tes données dans un même fichier txt, du type de celui que tu as donné dans ton message: $code=1001 $note=15...
Après, ce n'est pas, à mon avis, la meilleure manière de procéder: une petite base SQL serait beaucoup plus appropriée.
Sinon, pour en revenir à mon exemple, $matches[1] fait référence à ce qui se trouve dans la première parenthèse de l'expression régulière, soit quelquechose du type "$code=1003 $note=". Ensuite tu ajoute le chiffre 16, par exemple, pour obtenir "$code=1003 $note=16". Quant à eval, dans ce cas précis, cela peut t'être utile pour changer la note en question. Si tu essaies cette commande en remplacant le chiffre 16 par une variable $newNote, par exemple, tu t'apercevras que cela ne marche pas. Tout simplement car dans ce cas précis, tu ne peux passer aucun paramètre extérieur à create_function, en dehors de ceux de l'expression régulière.
Mais encore une fois, je pense que manipuler la DB serait beaucoup plus simple...
|
|
lundi 31 août 2009 à 21:37:46 |
Re : Variable a l'intérieur d'un fichier texte... est-ce possible?

jzeel
|
Je comprend bien ton point et j'ai très envie de l'essayer mais ce qui m'arrête c'est cette phrase que tu dis " je ne peux passer aucun paramètre extérieur à create_function, en dehors de ceux de l'expression régulière."
Dans ce cas, comment veux-tu que je puisse par SQL prendre le contenu de ma variable dans la BD le stocké dans une variable $newNote (page.php) pour l'utiliser dans mon ($matches[1].$newNote);??? puisque c'est ça le but de tout le problème.
Et si dans mon expression regulière j'ai 2 parenthèse... est-ce possible de changé 2 variables en même temps ainsi:
'return ($matches[1]."16",$matches[2]."20");'
??
Merci pour ton aide!
Jzeel
|
|
lundi 31 août 2009 à 22:55:19 |
Re : Variable a l'intérieur d'un fichier texte... est-ce possible?

jemil75
|
Comme ça, par exemple (en gros tu reprends ta commande en échappant les guillemets et en remplacant la variable)
Code PHP :
$newNote=15; // Ou n'importe quelle valeur issue de ta DB
$commande="$text = preg_replace_callback(\"#(\$code=1003(\n|\r\n)?\$note=)[0-9]{1,2}#',
create_function('$matches',
'return ($matches[1].\"".$newNote."\");'),
$text);";
eval($commande);
Evidemment, c'est de l'artillerie lourde...
|
|
lundi 31 août 2009 à 23:46:07 |
Re : Variable a l'intérieur d'un fichier texte... est-ce possible?

nautilus99
|
Bonsoir,
Pour être franc avec vous je suis un peu melanger dans le cas de nautilus99 j'ai jamais utilisé du CSV ou des requête JSON ou JQuery je vois QUOI faire mais pas COMMENT le faire... surtout avec aucun exemple cela aide pas.
Le format CSV ets un simple format d etexte délimité. Dans ton cas, tu as 2 champs, code et note. Le look d etes ligne ressemeblerait en csv à ceci:
Code : ou, si tu utilises le délimiteur de chaines
Code :
"1001";"5"
"1002";"10"
etc..
En PHP tu as une fonction pour lire un fichier csv et l'importer dans un tableau..
Code PHP :
$r = fopen( 'lecsv.csv', 'r' ) ;
$tab = fgetcsv ( $r, 100, ';' ) ;
et pour retrouver une note par rapport à un code passé à la fonction via $code par exemple:
Code PHP :
if ( array_key_exists( $code, $tab ) ) {
return $tab[$code] ;
} else {
throw new Exception( 'Code inconnu" ) ;
}
Et voilà, sans se battre avec des regexp ou autres..
|
|
Cette discussion est classée dans : fichier, code, possible, membre, note
Répondre à ce message
Sujets en rapport avec ce message
code source keylogger [ par cmasters ]
Bonjour tt le mondeEst il possible de creer un keylogger en php ?Si oui serait il possible d'avoir un exemple complet d'1 code sourc? Pour que je puis
Fichiers CSV+Tableaux et Balaises en PHP !!! [ par spectroman ]
Avis à ceux qui maitrise PHP !!!- Demande I :Les fichiers :* Un fichier genre "données1.php"Qui s'occupe de générer l'affichage d'un page de type HTML
Upload de fichier possible sur FREE ??? [ par Phrogg ]
Hello, J'utilise un script PHP dans lequel j'utilise l'instruction HTML Je récupère ensuite le fichier en PHP dans la variable $fichier. Je peux copi
Comment créer un fichier externe avec du code utilisé par plusieur page html ??? [ par GuilleW ]
Bonjour ....Pour commencer c'est pas mal qu'il y est du monde qui se bouge pour aider les autes ... (entre autre ... moi dans ce cas !!! <img src=/i
Question pour la programmation en PHP et en javascript ... [ par LocalStone ]
Ben voilà, je commence un peu à programmer, y a tout qui va bien, mais y a 2 symboles que je ne comprends pas, et je ne voit pas du tout à quoi ils se
cacher [ par ekinoks ]
g 3 pt kestion ... ;-/ - est t'il possible de cacher la destination d'un téléchargement C.A.D que la personne peu télécharger le fichier mais ne peu
Fonction crypt() pour htpasswd [ par Houzefa ]
salut,voilà ya quelques temps j'avais fait un fichier .htpasswd pour mettre un répertoire protégé sur mon site (serveur Apache normal). le mot de pass
Active scripting : détection possible? [ par paprikarmasutra ]
Salut à tous,Voilà je cherche un moyen pour détecter si chez le client l'active scripting est activé ou non, auquel cas j'affiche tel ou tel code.Je r
création d'un fichier word sous linux [ par zarbiman ]
Bonjour à tous! est-ce possible de générer un fichier word (ou excel) sous linux? si possible sans rien installer vu que je suis sur un terminal et qu
prob d'include [ par perig ]
BonjoursVoici le problèmeJ 'ai à la racine de mon site un fichier pageindex.phpAvec du php et de l'htmlToujours a la racine j'ai un fichier mysql.phpA
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|