include dans un array [resolu] - PHP - Programmation
Marsh Posté le 18-05-2005 à 11:05:47
Code :
|
C'est ca que tu veux ?
J'ai pas tout compris je crois
Marsh Posté le 18-05-2005 à 11:11:31
En fait mon bla.txt ne contient que les entrées du tableau, mais pas le code autour pour le définir.
Alors je voudrais, dans ma page finale de présentation, inclure les entrée dans le $bla = array(ICI)
Marsh Posté le 18-05-2005 à 11:13:28
gihel a écrit : En fait mon bla.txt ne contient que les entrées du tableau, mais pas le code autour pour le définir. |
J'ai rien compris, donne un exemple c'est le mieux
Marsh Posté le 18-05-2005 à 11:14:34
ReplyMarsh Posté le 18-05-2005 à 11:20:22
en gros :
Code :
|
qui me donnera ce que je veux :
Code :
|
Marsh Posté le 18-05-2005 à 11:21:35
en tu veux associer à un numéro, le contenu d'un fichier?
Marsh Posté le 18-05-2005 à 11:27:40
Non je veux juste avoir cet array tout simple avec ses entrées.
En fait c'est juste un problème de "concaténation" de code, je sais pas comment dire ca...
Marsh Posté le 18-05-2005 à 11:29:38
Comprend tjrs pas ...
Tu donnes un exemple où ton contenu de fichier est dans ton array, et après tu nous dis que tu veux pas associer le contenu d'un fichier au numéro...
Là je suis perdu ...
Marsh Posté le 18-05-2005 à 11:33:12
Tu ouvres ton fichier bla.txt et tu récupères son contenu que tu ajouteras dans ton tableau :
(je te mets le code issu de la doc php)
Code :
|
Marsh Posté le 18-05-2005 à 11:36:00
GaSPaRD77 a écrit : Comprend tjrs pas ... |
Moi non plus, toujours pas compris.
Marsh Posté le 18-05-2005 à 11:50:12
GaSPaRD77 a écrit : Comprend tjrs pas ... |
Désolé j'ai sans doute mal compris alors.
Bien sur que je veux que mes entrées soient associées à un numéro, c'est le but de mon array(). Mais mon problème n'est pas là.
Mon fichier texte est créé dynamiquement, les lignes sont construites toujours de la même manière (voir le premier post). Comme je sais pas rajouter le * $bla = array ( etc * autour de mes données classées dans ce fichier texte, je veux le rajouter après coup, d'où l'idée de l'include() (voir toujours le premier post) mais ca casse la fonction.
Marsh Posté le 18-05-2005 à 11:52:12
gihel a écrit : Désolé j'ai sans doute mal compris alors. |
Lol toujours pas compris
Marsh Posté le 18-05-2005 à 11:54:00
robbyone a écrit : Tu ouvres ton fichier bla.txt et tu récupères son contenu que tu ajouteras dans ton tableau : |
Merci de me mettre sur une piste !
J'avais déjà penser à quelque chose comme ca, mais le même problème se posera quand je voudrai afficher la variable echo $buffer; ca cassera la tableau
J'ai fouiné du coté de eval() mais même problème...
Marsh Posté le 18-05-2005 à 12:00:13
il faut pas 'afficher' ta variable mais la mettre dans ton tableau ..........
Marsh Posté le 18-05-2005 à 12:03:25
Je ne sais pas si j'ai bien compris mais voici une solution :
Il te suffit de parser ton fichier.
Tu lis d'abord ton fichier comme indiquer dans un post précédent.
ensuite tu utilises la fonction explode avec l'élément séparateur \n sur la variable qui a reçu le contenu du fichier
en espérant que ca puisse t'aider
Marsh Posté le 18-05-2005 à 12:16:24
Merci pour votre aide ! Vous l'aurez compris je n'ai que des notions de progs
denzz a écrit : il faut pas 'afficher' ta variable mais la mettre dans ton tableau .......... |
Ha, ca je sais pas faire.
ukyo81 a écrit : Je ne sais pas si j'ai bien compris mais voici une solution : |
Merci ! Mais je pense pas que ca puisse fonctionner. Dans mon fichier j'ai plusieurs retours chariots par entrée. C'est pour classer de petits textes.
Marsh Posté le 18-05-2005 à 12:17:13
Pour rappel, pas besoin de explode sur le retour à la ligne puisque fgets le fait tout seul.
Il stoppe en fin de ligne et en fin de fichier
Par ailleurs, il y d'autre méthodes pour forcer l'index d'un tableau :
Code :
|
Si l'indice importe peu, il suffit de commencer à 1 et d'incrémenter.
Si tu as besoin d'un ordre précis, indique-le dans une liste que tu utiliseras dans le while ...
Code :
|
D'une manière générale : ne cherche pas à ne pas casser la fonction array !
Au contraire casse là : à partir de là, tu te sentiras beaucoup mieux et plus à l'aise.
Marsh Posté le 18-05-2005 à 12:24:44
robbyone a écrit : Pour rappel, pas besoin de explode sur le retour à la ligne puisque fgets le fait tout seul. |
Oui mais explode lui met directement les informations dans un tableau indexé.
Sinon pour le problème de plusieurs entrées avant le retour chariot, je te suggère de déterminer un élément séparateur lors de la génération de ton fichier dynamique.
Marsh Posté le 18-05-2005 à 12:34:50
Ha oui je comprends.
Récupérer les données du fichier texte, les tronçonner ligne par ligne, et rentrer chaque ligne dans une entrée du tableau.
Sauf que mes données ne sont pas ligne par ligne. C'est pour ca que dans mon fichier texte j'ai rajouté les quotes et la virgule pour différencier chaque entrée.
(Oui je sais, c'est une manière très... "personnelle" de faire )
Avec une fonction utilisateur peut être ? qui me crééra mon tableau avec les entrées du fichier texte dedans ?
Marsh Posté le 18-05-2005 à 12:37:32
gihel a écrit : Ha oui je comprends. |
ben tu prendles quotes et la virgule comme element sépérateur
Marsh Posté le 18-05-2005 à 12:39:54
ukyo81 a écrit : Oui mais explode lui met directement les informations dans un tableau indexé. |
Haa oui merci
Ca me permettrait de générer un fichier sans les quotes et la virgule, ce serait plus propre en même temps.
Merci à tous pour toutes ces pistes, je vais essayer de plancher là dessus .
Marsh Posté le 18-05-2005 à 15:18:09
Tu dis avoir essaye l'eval, et ce dernier n'a pas fonctionne ? T'es sur ?
Parceque ce serait la methode la plus facile a metre en oeuvre :
Code :
|
Le "1=>" n'est pas indispensable, a moins que tu en ai besoin pour autre chose.
Marsh Posté le 18-05-2005 à 18:16:59
cerel a écrit : Tu dis avoir essaye l'eval, et ce dernier n'a pas fonctionne ? T'es sur ?
|
Haaa, génial, c'est ce que je voulais faire à la base.
le "1=>" j'en ai besoin oui, j'ai codé la présentation en commençant par 1 (il affiche les entrées 1 à 5, puis les suivantes etc)
J'avais mal utilisé eval()
Sinon, je viens d'essayer ca (mon code mis en situation) :
Code :
|
et il ne m'affiche rien... Si j'affiche $bla tout seul ca fonctionne.
Aucun message d'erreur
(Je sens que je suis près du but en tout cas, merci)
Marsh Posté le 19-05-2005 à 12:05:01
Tel qu'est écrit mon fichier texte, le eval() est censé me donner ca :
Code :
|
Comme j'ai défini $article = eval('array etc..., echo $article[1] doit me renvoyer pommes non ?
Là le eval() ne renvoit rien du tout.
Faut il utiliser une autre fonction, un return() ou autre ?
Pour récupérer le contenu de mon fichier texte j'ai utilisé file_get_contents() (merci Cerel ). Ca a l'air de marcher puisque si j'affiche $bla (la variable qui récupère le contenu du fichier) je vois bien ce qu'il faut...
Je suis perdu, j'oublie surement quelque chose mais quoi ?
Marsh Posté le 19-05-2005 à 12:17:02
Il ne m'affiche absolument rien justement
Voilà exactement mon code :
Code :
|
et le log.txt :
Code :
|
Aucun résultat, page blanche, rien dans la source.
Marsh Posté le 19-05-2005 à 13:16:42
Haaaa, enfin !
J'ai bataillé, j'ai fait plein d'essais... et apparemment on ne peut pas passer le résultat du eval() dans une variable (bizarre).
Bref, voilà le code valide :
Code :
|
Merci à tous
Marsh Posté le 19-05-2005 à 14:43:04
Verifie que ta derniere virgulle ne pose pas de problemes.
Marsh Posté le 19-05-2005 à 14:56:52
Ca pose aucun problème.
J'avais déjà fait l'essai sur un array "statique"
Marsh Posté le 18-05-2005 à 11:01:59
Bonjour
Je voudrais inclure dynamiquement le contenu d'un array, un peu comme ceci :
et dans le bla.txt créé dynamiquement on a :
Bien sur l'include casse le code et on a une erreur.
y'a t'il un moyen de faire ca correctement ?
Merci.
Message édité par gihel le 19-05-2005 à 13:17:30